这可能是一个Windows问题,而不是一个蟒蛇问题,但我很难过:
对于我公司的大多数应用程序,我们都受限于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上运行。
答案 0 :(得分:2)
似乎是duplicate。您应该使用regedit.exe
C:\Python24\python.exe %1
和C:\Python25\python.exe %1
在注册表中进行搜索。
您必须将事件修改为C:\Python24\python.exe %1 %*
。
有了这个,你将解决两件事:
%*
最后再次传递参数在特定情况下,请注意python.exe
的正确文件路径。