这可能是一个 Windows 问题,而不是 Python 问题,但我很困惑:
对于我公司的大多数应用程序,我们仅限于 Python 2.4.2。这在大多数情况下不是问题,我的 python 2.4.2 安装按预期工作。
有一天,我的一位同事正在演示他创建的一个新实用程序,该实用程序需要 python 2.5,因此我们安装了 python 2.5 并浏览了他的演示。
当他完成后,我卸载了 2.5 并重新安装了 2.4.2。那时 Python 停止解析命令行参数。
如果我运行下面的命令行,则不会解析提供的参数:
C: \TEST >Template_Production_Test.py pt_template.inipt_template.ini
Arguments: ['C:\\ TEST\\ Template_Production_Test.py']
脚本滚动浏览 argv 的内容,并且显然正在运行,因为它返回脚本名称而不是指示未找到程序。
如果我运行相同的脚本,但这次使用下面的命令行:
C:\\TEST >python Template_Production_Test.py pt_template.inipt_template.ini
Arguments: ['Template_Production_Test.py', 'pt_template.inipt_template.ini']
一切正常。
我不知道发生了什么。我卸载了所有内容并清除了文件夹、注册表和环境变量,然后从头开始重新安装。行为没有变化。
公司里没有人见过这种情况。有人有什么想法吗?
Python 2.4.2,在 Win 7 上运行。
最佳答案
似乎是 duplicate 。您应该使用 regedit.exe
在注册表中搜索 C:\Python24\python.exe %1
和 C:\Python25\python.exe %1
。
您必须将出现的内容修改为 C:\Python24\python.exe %1 %*
。
这样你就可以解决两件事:
- 错误的Python路径
%*
最后再次传递参数
在您的具体情况下,请注意 python.exe
的正确文件路径。
关于Python不解析命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26393934/