Python (Portable 2.5) subprocess report problem “WindowsError: [Error 3] The system cannot find the path specified”
我正在使用python,代码都适用于非便携版本。 因为我需要在某些不属于我的计算机上运行程序,而这些计算机没有安装python或者这样的选项可用。
我使用便携式python代替。 但是,以前的代码现在运行良好,报告错误"WindowsError:[错误3]系统无法找到指定的路径"。 我在电脑上查了一下。 它运行顺利,没有上述错误。 任何人都可以提供线索?
我使用的cmd是:
p = subprocess.Popen(self.cmdStr,shell = False,stdout = subprocess.PIPE,stderr = file)
我正在将stderr重定向到我指定的文件。
我也在网上搜索。 似乎存在"子进程PATH语义和可移植性"的问题。 我不确定这是不是这个原因。 请帮忙。 谢谢。
啊,问题出在cmdStr变量中。 您必须使用绝对路径,否则让正在运行进程的用户具有适当的设置PATH系统变量。 或者你有shell = False,这可能会导致子进程模块出现问题。 检查文档中有关路径等问题。
subprocess.Popen(r"C: Python27 python.exe",shell = True)可以正常工作。
'cmd / c cmdstr'可以在Windows上正常运行吗?