기존 Python 2.7 스크립트에 기존 프로그램을 통합하려고합니다. 현재 프로그램이 성공적으로 명령 프롬프트에 다음을 입력하여 실행할 수 있습니다 : 이것은 모두 한 줄이Python을 사용하여 Windows 명령 프롬프트에서 .exe 파일 실행
`C:\wisdem\plugins\JacketSE\src\jacketse\SubDyn\bin\SubDyn_Win32.exe C:\wisdem\plugins\JacketSE\src\jacketse\SubDyn\CertTest\Test04_TrialD3.txt`
; .txt 파일에는 .exe 파일에 필요한 입력이 들어 있습니다. 나는이 일을 os.system("C:\wisdem\plugins\...)
및
subprocess.Popen("C:\wisdem\plugins\...", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE).stdout.read()
''\ b ''이 무엇을 의미하는지 생각해보십시오. 명령에 원시 문자열을 사용하십시오 (예 : 'p = subprocess.Popen (r "C : \ wisdem \ plugins \ ...", ...)'. 또한'shell = True'를 사용하지 마십시오. 'stdin' 또는'stderr'에 파이프를 사용하지 않는다면 사용하지 마십시오. 그대로 두거나 null 디바이스에 대한 파일 설명자를 전달하십시오 (예 : 'fd_null = os.open (os.devnull, os.O_RDWR)'. 두 개 이상의 표준 파일을 파이프하는 경우 교착 상태를 피하기 위해'communicate()'메소드를 사용하십시오. – eryksun