Python (可移植 2.5) 子进程报告错误 "WindowsError: [错误 3] 系统找不到指定的路径

0 投票
3 回答
1245 浏览
提问于 2025-04-16 19:56

我在用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,这可能会在子进程模块中引发问题。建议查看文档,了解有关路径等方面的问题。

撰写回答