文件名:test.py
import sys
print(sys.version)
print(sys.argv)
我在cmd控制台中键入python test.py 1 2 3
,效果很好。
3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]
['test.py', '1', '2', '3']
但是,我在cmd控制台中键入test.py 1 2 3
,它只能获取第一个参数。
3.5.0b4 (v3.5.0b4:c0d641054635, Jul 26 2015, 06:55:14) [MSC v.1900 32 bit (Intel)]
['E:\\Bin\\iproc\\test.py']
我怎样才能得到这些论点?
答案 0 :(得分:2)
听起来你的Windows文件关联很糟糕。确保参数作为%%*
传递。使用assoc
中的ftype
和cmd.exe
命令进行检查。例如:
ASSOC .py=Python.File
FTYPE Python.File="C:\Python35\python.exe" "%%1" %%*
答案 1 :(得分:1)
是的,我的Windows文件关联不好。我检查了注册表,最后更改了注册表。问题解决了。
[HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command]
@="\"c:\\bin\\python35\\python.exe\" \"%L\" %*"