2014-10-09 59 views
3

我檢索有關我的無線連接信息,我得到我想要的字符串,但我想從清潔的信息,外殼大約eth0lo(請注意,這些行不在check_ouput返回字符串中,它們被打印到ipython的In [4]Out [4]之間的shell中)。殼()

我目前的猜測是,這兩行被認爲是警告,並沒有被check_output捕獲。希望他們輸出到stderr我試過

iwconfig > /dev/null 2>&1 # empties my wanted string 
iwconfig 2 > /dev/null  # throws an error 

但都沒有成功,到目前爲止有一些變化。

如何防止check_output向shell輸出任何內容?

回答

3

如果你想在stderr爲您stdout

subprocess.check_output('iwconfig', stderr=subprocess.STDOUT) 

如果你想要的是隻是爲了消滅你stderr

import os 
subprocess.check_output('iwconfig', stderr=open(os.devnull, 'w')) 
+0

真棒,謝謝! – user60177 2014-10-09 15:41:57