我試圖從通過python腳本執行的命令捕獲輸出。 我知道有很多關於如何做到這一點的例子,但我無法獲得解決方案。從python子進程捕獲輸出
例子:
本例使用:
#!/usr/bin/python
import subprocess
process = subprocess.Popen(['whoami'], stdout=subprocess.PIPE)
stdout = process.communicate()[0]
print 'STDOUT:{}'.format(stdout)
結果:
[email protected]:~/Documents$ python example.py
STDOUT:houhou
這不起作用:
我需要運行以下命令: 'nginx的-t'
import subprocess
process = subprocess.Popen(['nginx', '-t'], stdout=subprocess.PIPE)
stdout = process.communicate()[0]
print 'STDOUT:{}'.format(stdout)
結果:
[email protected]:~/Documents$ python example.py
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
STDOUT:
我不知道如何抓住這個輸出。看起來這個消息表明nginx配置是好的,在python可以讀取它之前打印出來。 任何幫助,將不勝感激。
乾杯。
是它可能被打印成'stderr'? – zondo