根据提供的答案here,我想将错误保存为字符串:
p = subprocess.Popen(['ding', 'dong'], stderr=subprocess.PIPE, stdout=subprocess.PIPE)
output, errors = p.communicate()
但是,重定向stderr似乎不起作用:
>>> p = subprocess.Popen(['ding', 'dong'], stderr=subprocess.PIPE, stdout=subprocess.PIPE)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib64/python2.4/subprocess.py", line 550, in __init__
errread, errwrite)
File "/usr/lib64/python2.4/subprocess.py", line 993, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
将错误捕获为字符串的正确方法是什么?你知道吗
问题中的错误消息不是来自子进程。它是在执行子流程之前生成的。不能使用
stderr
选项捕获该错误。你知道吗确保路径中有
ding
程序。你知道吗相关问题 更多 >
编程相关推荐