如何在python中获取命令行参数(sys.argv)

时间:2016-03-11 08:30:19

标签: python python-3.x

文件名: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']

我怎样才能得到这些论点?

2 个答案:

答案 0 :(得分:2)

听起来你的Windows文件关联很糟糕。确保参数作为%%*传递。使用assoc中的ftypecmd.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\" %*"