如何为子流程模块重定向stderr

脏企鹅

根据此处提供的答案,我想将错误另存为字符串:

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路径中程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将子流程的输出重定向到文件

来自分类Dev

如何从模块重定向?

来自分类Dev

Scala流程:重定向的stdout和stderr总是被延迟

来自分类Dev

Scala流程:重定向的stdout和stderr总是被延迟

来自分类Dev

如何在流程替换中重定向?

来自分类Dev

如何在流程替换中重定向?

来自分类Dev

我如何将流程的stdout,stderr和stdin重定向到Groovy中的文件,以及从Bash shell中重定向文件?

来自分类Dev

如何像在Bash shell中一样,将流程的stdout,stderr和stdin重定向到Groovy中的文件或从其中重定向?

来自分类Dev

如何重定向busybox中的stderr?

来自分类Dev

coproc和子流程重定向的替代方法(重击3)

来自分类Dev

显示子流程输出到stdout并将其重定向

来自分类Dev

将子进程的stdout / stderr重定向到文件

来自分类Dev

在Python的子进程/ Popen中将stdout重定向到stderr

来自分类Dev

在Python的子进程/ Popen中将stdout重定向到stderr

来自分类Dev

子外壳中的stderr重定向更改了tput的输出

来自分类Dev

mitmproxy:如何为请求配置重定向

来自分类Dev

如何为.htaccess重定向添加例外?

来自分类Dev

bash中的错误重定向后如何获取stderr

来自分类Dev

管道与重定向到流程

来自分类Dev

如何从Azure子域名重定向?

来自分类Dev

如何重定向子进程的输出?

来自分类Dev

在Jruby中重定向STDERR

来自分类Dev

在C中重定向stderr

来自分类Dev

重定向STDERR未关闭

来自分类Dev

如何为python安装子进程模块?

来自分类Dev

如何为子流程注册信号处理程序?

来自分类Dev

如何为子流程设置列和行

来自分类Dev

如何将stdout和stderr重定向到文件并显示stderr到控制台?

来自分类Dev

如何为移动设备重定向单个页面?

Related 相关文章

热门标签

归档