python子进程,没有这样的文件或目录

python子进程,没有这样的文件或目录,python,file,subprocess,Python,File,Subprocess,我已经阅读了所有相关问题,还没有找到解决方案。 我的问题是: 可以看出,cmd被打印出来并且是正确的,当我将其复制粘贴到终端时,它完成了正确的工作。但是,使用绝对路径通过python调用它无法找到文件…因为您是以单个字符串的形式传递命令,所以需要指定shell=True,以便将命令行分解为适当的命令名和参数。但是,更好的方法是自己构建列表 cmd = ["glpsol", "-m", os.path.join(os.path.dirname(__file__), "workingLP.txt"

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


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

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

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

这样就不需要转义路径名中的空格。

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

cmd = ["glpsol", "-m", os.path.join(os.path.dirname(__file__), "workingLP.txt")]
这样可以避免转义路径名中的空格