【发布时间】:2015-05-27 14:54:47
【问题描述】:
正如标题所说:
>>> from subprocess import check_output
>>> check_output(['ln', '~/other_folder/src/models/sc_models.py', './src/models/sc_models.py'])
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['ln', '~/other_folder/src/models/sc_models.py', './src/models/sc_models.py']' returned non-zero exit status 1
>>> exit()
$ ln ~/other_folder/src/models/sc_models.py ./src/models/sc_models.py
$
这怎么可能?它如何从命令行成功,但从 Python 子进程调用失败?
欢迎所有提示!
【问题讨论】:
-
尝试将
shell=True添加到您的 check_output 命令中 -
不过,不要将
shell=True与参数列表结合使用。
标签: python bash subprocess exit-code ln