Я пытаюсь интегрировать существующую программу в разрабатываемый сценарий Python 2.7. В настоящее время программа может быть успешно запущена, введя в командной строке следующее:Использование Python для запуска файла .exe в командной строке Windows
`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()
, чтобы сделать это, но ни один работает. Кроме того, мне нужны выходы командной строки для печати Python. Любая помощь будет принята с благодарностью!
Подумайте, что означает '' \ b "'. Используйте необработанную строку для команды, например. 'p = subprocess.Popen (r" C: \ wisdem \ plugins \ ... ", ...)'. Кроме того, не используйте 'shell = True'. Не используйте трубку для 'stdin' или' stderr', если вы их не используете. Оставьте их как есть или передайте дескриптор файла для нулевого устройства, например. 'fd_null = os.open (os.devnull, os.O_RDWR)'. Если вы делаете трубку более чем одним стандартным файлом, используйте метод 'communication()', чтобы избежать возможности взаимоблокировки. – eryksun