Python 2.7 - 在subprocess.py上崩溃

时间:2013-12-05 08:30:40

标签: python-2.7

Python 2.7 - 在subprocess.py上崩溃 - Windows错误:[错误2]系统找不到文件

File "C:\Python27\lib\subprocess.py", line 709, in __init__
    errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 957, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

我已经搜索了其余的问题并尝试了所有路径设置和环境变量,所有这一切似乎都很好。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

  

“WindowsError:[错误2]系统找不到指定的文件”

当我想要调用未安装的程序时,我遇到了同样的错误(我使用的是ubuntu而不是windows)。

http://docs.python.org/2/library/subprocess.html#exceptions

尝试在shell中手动执行命令,以获得真正的错误

或使用这个好方法:

from subprocess import CalledProcessError, check_output

try:
    output = check_output(["ls", "non existent"])
except CalledProcessError as e:
    print(e.returncode)

N.B:在我的系统(ubuntu)中,我得到:

  

ls:无法访问不存在:没有这样的文件或目录   2

在Windows中没有“ls”命令,你会得到异常,这意味着。

来自: Check a command's return code when subprocess raises a CalledProcessError exception

检查一下: Using subprocess to run Python script on Windows

答案 1 :(得分:0)

通过子过程运行命令时使用列表。 列表应按如下方式创建: 假设你想要ot run命令:

ls -l

那么命令应该是

cmd = ["ls" "-l" ]
subprocess.Popen(cmd)