我尝试使用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'
。
答案 0 :(得分:6)
我犯了一个错误,没有添加stdout=subprocess.PIPE
:
result = subprocess.run('echo foo', shell=True, check=True, stdout=subprocess.PIPE);
现在可以使用了。