Python 2.7以上
from subprocess import check_output as qx
Python <2.7
从subprocess.py:
import subprocessdef check_output(*popenargs, **kwargs): if 'stdout' in kwargs: raise ValueError('stdout argument not allowed, it will be overridden.') process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs) output, unused_err = process.communicate() retpre = process.poll() if retpre: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] raise subprocess.CalledProcessError(retpre, cmd, output=output) return outputclass CalledProcessError(Exception): def __init__(self, returnpre, cmd, output=None): self.returnpre = returnpre self.cmd = cmd self.output = output def __str__(self): return "Command '%s' returned non-zero exit status %d" % ( self.cmd, self.returnpre)# overwrite CalledProcessError due to `output` keyword might be not availablesubprocess.CalledProcessError = CalledProcessError另请参见将系统命令输出捕获为字符串以获取可能的
check_output()实现的另一个示例。



