Python (可移植 2.5) 子进程报告错误 "WindowsError: [错误 3] 系统找不到指定的路径
我在用Python编程,之前的代码在我电脑上运行得很好,因为我用的是非便携版的Python。不过现在我需要在一些不属于我的电脑上运行这个程序,那些电脑上没有安装Python或者没有相关的选项。
所以我改用了便携版的Python。但是之前运行得很好的代码现在却报错了,提示“WindowsError: [Error 3] 系统找不到指定的路径”。我在我自己的电脑上检查过,运行得很顺利,没有这个错误。有没有人能给我点提示?
我使用的命令是:
p = subprocess.Popen(self.cmdStr, shell=False, stdout=subprocess.PIPE, stderr=file)
我把错误信息重定向到了我指定的文件里。
我也在网上查了一下,似乎有个问题是关于“subprocess的路径语义和可移植性”。我不确定这是不是原因。请帮帮我。谢谢。
3 个回答
0
使用subprocess.Popen(r"C:\Python27\python.exe", shell=True)可以正常工作。
0
在Windows上,'cmd /c cmdstr'能正常运行吗?
1
哦,问题出在cmdStr这个变量上。你必须使用绝对路径,或者确保运行这个程序的用户的PATH系统变量设置正确。还有一种情况是你把shell设置为False,这可能会在子进程模块中引发问题。建议查看文档,了解有关路径等方面的问题。