直接使用参数调用关联脚本

时间:2016-06-14 23:33:26

标签: python windows

在Windows控制台中,如果我执行此脚本(test.py):

import sys
print(sys.argv)

像:

>python test.py my args

我得到预期的输出:

['test.py', 'my', 'args']

但如果我直接调用它,就像这样:

>test.py my args

我得到:['C:\\temp\\test.py']输出,好像我没有传递任何参数。为什么呢?

供参考:

>assoc | findstr .py=
.py=Python.File

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

1 个答案:

答案 0 :(得分:0)

与讨论here类似,您希望确保正确设置command密钥。在我的Windows 10副本中,我发现我在{2}位置command注册为"C:\Python27\python.exe" "%1" %*

HKEY_CLASSES_ROOT\Python.CompiledFile\shell\open\command
HKEY_CLASSES_ROOT\Python.File\shell\open\command

我想要做的第一件事就是检查这两个键。