subprocess.run()不返回stdout或stderr

时间:2018-09-07 09:45:08

标签: python python-3.x python-3.6

我尝试使用subprocess.run as described in this answer,但它不会为stdout或stderr返回任何内容:

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

我也尝试使用capture_output=True,但是尽管描述了in the documentation,但还是遇到了异常__init__() got an unexpected keyword argument 'capture_output'

1 个答案:

答案 0 :(得分:6)

我犯了一个错误,没有添加stdout=subprocess.PIPE

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

现在可以使用了。