Python没有解析命令行

时间:2014-10-15 23:40:48

标签: python

这可能是一个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上运行。

1 个答案:

答案 0 :(得分:2)

似乎是duplicate。您应该使用regedit.exe C:\Python24\python.exe %1C:\Python25\python.exe %1在注册表中进行搜索。 您必须将事件修改为C:\Python24\python.exe %1 %*

有了这个,你将解决两件事:

  • 错误的python路径
  • %*最后再次传递参数

在特定情况下,请注意python.exe的正确文件路径。