如何捕获 ipython shell 的错误输出?
我正在编写一个 ipython 宏来处理程序的输出。 问题是,程序有时可以写入 stderr
,所以如果我这样做:
out = !my_program
out
变量将不包含输出。 我认为它将包含退出代码(如果我错了,请纠正我)。
如何捕获 stdout 和 stderr 流?
I'm writing an ipython macro that processes the output of a program. The thing is, the program can sometimes write to stderr
, so if I do something like this :
out = !my_program
the out
variable will not contain the output. I think it will contain the exit code ( correct me if I'm wrong ).
How can I capture both stdout and stderr streams?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
foo 2>&1 表示将所有输出,包括句柄 2(即 STDERR),从 foo 命令重定向到句柄 1(即 STDOUT)
所以这里 out = !foo 2>&1 也许就足够了。 下面是演示:
Egg.py:IPython
0.10
希望这有帮助
foo 2>&1 means redirect all of the output, including handle 2 (that is, STDERR), from the foo command to handle 1 (that is, STDOUT)
so here out = !foo 2>&1 maybe good enough. below is the demo:
egg.py:
IPython 0.10
Hope this helps