【问题标题】:Read from stdin, stderr in Python从 Python 中的 stdin、stderr 读取
【发布时间】:2017-01-09 11:20:24
【问题描述】:

我有两个程序:p1 和 p2。我运行 p1 | p2。我知道如何在 p2 标准输入中从 p1 读取标准输出。我怎样才能对 stderr 做同样的事情。

谢谢, 尼古拉斯

【问题讨论】:

  • 这似乎与 python 无关,而是与 bash 相关,因为您显然使用的是管道。您可以将 stderr 重定向到 stdout 或使用 2|而不是 |

标签: python stdout stderr


【解决方案1】:

大多数(或所有)shell 中的管道 (|) 获取命令的标准输出并将其传递给第二个命令。

因此,从第一个命令中获取标准错误只能在命令行上完成。在 bash 中,你会这样做:

p1 2>&1 | p2

这告诉 bash 将 stderr 转发到 stdout。然后将两者都通过管道传输到 p2。

或者,您可以让 p1 仅将所有内容打印到标准输出。

【讨论】:

  • 谢谢,如果我从 p2 打印 stdin,我怎么知道从 p1 发送 stderr 和 stdout 的位置?
  • 抱歉,您需要更具体地说明您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
相关资源
最近更新 更多