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



>文件名:测试.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中的assocftype命令进行检查。 例如:

ASSOC .py=Python.File
FTYPE Python.File="C:Python35python.exe" "%%1" %%*

是的,我的Windows文件关联是错误的。我检查了注册表,最后更改了注册表。问题解决了.

[HKEY_CLASSES_ROOTApplicationspython.exeshellopencommand] @=""c:\bin\python35\python.exe" "%L" %*"

最新更新