我想要获取命令的stdout和stderr以及返回码。有人能给我介绍一个已经完成这个任务的python函数吗?
我修改了我在这个站点上找到的一个函数,如下所示--但我无法获取该命令的返回码。在这段代码中,sts似乎始终为0。
def Getstatusoutput(cmd):
"""Return (status, output) of executing cmd in a shell."""
import sys
mswindows = (sys.platform == "win32")
import os
if not mswindows:
cmd = '{ ' + cmd + '; }'
fi,fo,fe=os.popen3(cmd)
textOut = fo.read()
textErr = fe.read()
sts = fo.close()
if sts is None: sts = 0
if textOut[-1:] == '\n': textOut = textOut[:-1]
return sts, textOut, textErr 发布于 2011-10-26 13:17:38
使用subprocess模块。This section展示了如何替换os.popen3调用。
https://stackoverflow.com/questions/7898900
复制相似问题