python 子进程,没有那个文件或目录

python subprocess, No such file or directory

我已经阅读了所有相关问题,但还没有找到解决方案。 这是我的问题:

可以看出 cmd 得到打印并且是正确的,当我将其复制粘贴到终端时,它完成了正确的工作。但是,通过 python 使用绝对路径调用它找不到文件...

由于您将命令作为单个字符串传递,因此需要指定 shell=True 以便将命令行分解为适当的命令名称和参数。但是,更好的方法是自己构建列表。

cmd = ["glpsol", "-m", os.path.join(os.path.dirname(__file__), "workingLP.txt")]

这避免了对路径名中的空格进行转义的需要。