2017-01-09 86 views
-2

我有兩個程序:p1和p2。我運行p1 | P2。我知道如何從p2 stdin中的p1讀取stdout。我怎麼能跟stderr做同樣的事情。從stdin中讀取stderr中的Python

謝謝, 尼古拉斯

+0

這看起來似乎不是python相關的,但bash相關,因爲你顯然使用管道。您可以將stderr重定向到stdout或使用2 |而不是| – MacHala

回答

3

在大多數(或全部)殼的管(|)取命令的標準輸出並將其傳遞給第二個命令。

因此只能在命令行上執行stderr。在bash中你可以這樣做:

p1 2>&1 | p2 

這告訴bash將stderr轉發到標準輸出。然後兩者都通過管道連接到p2。

或者,您可以讓p1只將所有內容打印到標準輸出。

+0

謝謝,如果我從p2打印標準輸入,我怎麼能知道在哪個位置從p1發送了標準錯誤和stdout? – dagnic

+0

對不起,但您需要更具體地瞭解您的問題。 –