subprocess.run () не возвращает stdout или stderr - PullRequest
0 голосов
/ 07 сентября 2018

Я пытался использовать subprocess.run , как описано в этом ответе , но он ничего не возвращает для stdout или stderr:

>>> result = subprocess.run('echo foo', shell=True, check=True)
>>> print(result.stdout);
None
>>> print(result.stderr);
None

Я также пытался использовать capture_output=True, но получил исключение __init__() got an unexpected keyword argument 'capture_output', хотя оно описано в документации .

1 Ответ

0 голосов
/ 07 сентября 2018

Я сделал ошибку, я не добавил stdout=subprocess.PIPE:

result = subprocess.run('echo foo', shell=True, check=True, stdout=subprocess.PIPE);

Теперь это работает.

...