2010-11-08 70 views
1

我在超级用户上问了这个问题,并得到了它的风滚草徽章(10天内13次),所以我想这里可能是正确的地方。在winXP上的python版本

在我的Windows机器上安装了几个python版本。我希望能够在默认使用的版本之间轻松切换。

我尝试并使用winexplorer更改与py文件关联的程序。 我设置程序用于打开这些文件作为写字板。 现在,当我在命令行中键入.py的文件名时,该文件将在写字板中打开。

尽管如此,键入命令行下面的产量:

C:\>assoc .py 
.py=Python.File 

C:\>ftype Python.File 
Python.File="C:\Program\Python27\python.exe" "%1" %* 

我不明白为什么在命令行中运行写字板(如在Windows资源管理器中设置),虽然ASSOC FTYPE和说应该运行Python27。

这些关联(命令行与资源管理器)存储在不同的地方吗?哪一个覆盖哪一个,并设置与assoc和ftype的新关联覆盖在资源管理器中设置?

你会推荐做什么,以便能够轻松切换?从我的注册表


更多信息:

HKEY_CLASSES_ROOT.py是Python.File

HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Explorer中\ FileExts.py \应用是wordpad.exe

HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Explorer中\ FileExts.py \ OpenWithProgids \ Python.File是长度的二进制值0

HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.py(Standard)是Python.File

多个注册表:

HKEY_CLASSES_ROOT \应用程序\ python.exe \壳\开放\命令(标准),仍然是“C:\程序\ Python27 \ python.exe“”%1“%*,

我想这是ftype Python.File中显示的内容。但它似乎并没有被使用。


编辑补充登记信息

注册表编辑器说:

HKEY_CLASSES_ROOT\.py 
    +--- (Standard) REG_SZ Python.File 
    +--- Content Type REG_SZ text/plain 

我试图改变的Content Type,没有效果的价值。

也:

HKEY_CLASSES_ROOT\Python.File 
    +--- shell (no data) 
      +--- Edit with IDLE 
      |  +--- command 
      |    +--- (Standard) <path-to-idle> 
      +--- open (no data) 
       +--- command 
         +--- (Standard) <path-to-python27> 

我试过的shell值设置为open,并open的路径值到python27 exe文件,仍然没有工作。 不知何故,命令提示符仍然可以找到我在winexplorer中所做的关联,并使用wordpad打开文件,而不是使用open中的命令。

回答

1

如果HKEY_CLASSES_ROOT\.pyPython.File那么你必须考虑HKEY_CLASSES_ROOT\Python.File\shell。然后查找与其值相似的子键,例如如果shell密钥的值为open,请转至HKEY_CLASSES_ROOT\Python.File\shell\open。这就是关联存储的地方。如果shell密钥没有值,请转至open子项。

问题是ftype工具始终显示open子项的内容,无论shell键的值如何。

+0

有趣。但是什么使'cmd'使用写字板,而不是'HKEY_CLASSES_ROOT \ Python.File \ shell \ open \ command'中的值? 'shell'没有任何值,只有两个子键'Edit with IDLE'和'open',每个子键都有'command'。这两个子键'命令'都有一个与python相关的值,而没有与wordpad相关的值。 – Gauthier 2010-11-08 12:20:32

+0

所以'cmd'使用'shell'的值来执行脚本,而'ftype'使用'open'的值?我的键'shell'没有任何价值,那么cmd使用什么来运行脚本(它变成了wordpad,但是在那里使用了什么键?)。 – Gauthier 2010-11-08 12:21:45