Python запускает внешний исполняемый файл - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь запустить внешний исполняемый файл, который требует сложных параметров и записать вывод в переменную.Как мне это сделать?

import os
import subprocess
subprocess.call('C:\\bin\\test.exe', ' -b10.10.2000',' -house50.20E,10.40N',' -hsyE',' -utc00.18',' -eswe',' -sid27',' -fPls',' -head',' -g')


>>> subprocess.call('C:\\bin\\test.exe', ' -b10.10.2000',' -house50.20E,10.40N',' -hsyE',' -utc00.18',' -eswe',' -sid27',' -fPls',' -head',' -g')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 3
25, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 7
29, in __init__
    raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer
>>>

спасибо

1 Ответ

2 голосов
/ 20 апреля 2019

Выход - это стандартный вывод другого процесса?

Вы можете использовать подпроцесс. Открыть и связаться () затем:

 proc = subprocess.Popen( [ 'C:\\bin\\test.exe', '-b10.10.2000','-house50.20E,10.40N','-hsyE','-utc00.18','-eswe','-sid27','-fPls','-head','-g' ], stdout = subprocess.PIPE, stderr = subprocess.PIPE )
 out, err = proc.communicate() #out -> stdout, err -> stderr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...