在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" %*
答案 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
我想要做的第一件事就是检查这两个键。