我需要对 linux 进行一些命令行调用并从中获取返回,但是按如下方式执行只是返回0
当它应该返回时间值时,例如00:08:19
,我正在常规命令行中测试完全相同的调用,它返回时间值00:08:19
所以我对我做错了什么感到困惑,因为我认为这就是如何在 python 中做到这一点。
import os
retvalue = os.system("ps -p 2993 -o time --no-headers")
print retvalue
返回的是执行该命令的返回值。直接执行时看到的是 stdout 中命令的输出。返回0表示执行过程中没有错误。
使用 popen 等捕获输出。
沿着这条线的东西:
import subprocess as sub
p = sub.Popen(['your command', 'arg1', 'arg2', ...],stdout=sub.PIPE,stderr=sub.PIPE)
output, errors = p.communicate()
print output
or
import os
p = os.popen('command',"r")
while 1:
line = p.readline()
if not line: break
print line
ON SO : 波彭和蟒蛇
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)