【发布时间】:2017-03-20 21:50:43
【问题描述】:
这是我的简单示例:
import subprocess
cmd = 'ping something.local -c 1'
tail = 'tail -n 3'
ping = subprocess.Popen(cmd.split(' '), stdout=subprocess.PIPE)
tail = subprocess.Popen(tail.split(' '), stdin=ping.stdout, stdout=subprocess.PIPE)
ping.stdout.close()
out, err = tail.communicate()
print 'Print values:'
print out
print err
这是脚本的输出示例:
[~/python]$ python ping_stats.py
ping: cannot resolve tpeo.local: Unknown host
Print values:
None
所以,我的变量 out 和 err 是“空的”,但我需要 ping: cannot resolve tpeo.local: Unknown host 错误消息。我怎样才能得到它?
【问题讨论】:
-
使用 os.system 代替 Popen。然后查看响应码
-
那么,用subprocess.Popen是不是不可能了?