>文件名:测试.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']
我怎样才能得到这些论点?
听起来你的Windows文件关联很糟糕。 确保参数作为%%*
传递。 使用cmd.exe
中的assoc
和ftype
命令进行检查。 例如:
ASSOC .py=Python.File
FTYPE Python.File="C:Python35python.exe" "%%1" %%*
是的,我的Windows文件关联是错误的。我检查了注册表,最后更改了注册表。问题解决了.
[HKEY_CLASSES_ROOTApplicationspython.exeshellopencommand]
@=""c:\bin\python35\python.exe" "%L" %*"