我用subprocess
的check_output()
函数两种方式,找到结果不一样,我不知道为什么。子过程使用两种方式,但结果不一样
第一种方式:
from subprocess import check_output as qc output = qc(['exit', '1'], shell=True)
方式二:
from subprocess import check_output as qc output = qc(['exit 1'], shell=True)
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/work/cloud/python2.7_64/lib/python2.7/subprocess.py", line 544, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['exit 1']' returned non-zero exit status 1
二方式是对的,但第一种方式为什么不正确?
试试'qc('exit 1',shell = True)'。我想它正在执行'“exit 1”' –
相关:[subprocess.call using string vs using list](http://stackoverflow.com/q/15109665/4279) – jfs