Linux命令行调用没有从os.system返回什么?
我需要对linux进行一些命令行调用并从中获取返回值,但是,如下所示,它只是在返回0
应返回时间值时返回,例如00:08:19
,我正在常规命令行中测试完全相同的调用,并且返回了时间值,00:08:19
所以我对自己在做错的事情感到困惑,因为我认为这是在python中做的事情。
import osretvalue = os.system("ps -p 2993 -o time --no-headers")
print retvalue
回答:
返回的是执行此命令的返回值。直接执行命令时看到的是stdout中命令的输出。返回0表示执行没有错误。
使用popen等捕获输出。
这方面的一些事情:
import subprocess as subp = sub.Popen(['your command', 'arg1', 'arg2', ...],stdout=sub.PIPE,stderr=sub.PIPE)
output, errors = p.communicate()
print output
要么
import osp = os.popen('command',"r")
while 1:
line = p.readline()
if not line: break
print line
以上是 Linux命令行调用没有从os.system返回什么? 的全部内容, 来源链接: utcz.com/qa/408254.html