sys.argv[]是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。
下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。
1. 0个参数
不从命令行接受参数
import sys
a=sys.argv[0]
print(a)
./test.py
得到的结果test.py,即此.py程序。
2. 1个参数
我们将代码中0改为1,从命令行接收1个参数
import sys
a=sys.argv[1]
print(a)
保存后,再从命令行运行,这次我们加上一个参数
./test.py what
得到的结果就是我们输入的参数what
3. 参数列表
再把代码修改一下
import sys
a=sys.argv[2:]
print(a)
从命令行运行程序,这次多加几个参数,以空格隔开
./test.py a b c d e f
得到的结果:[‘b’, ’c’, ’d’, ’e’, ’f’]
4. 结论
Sys.argv[ ]
其实就是一个列表,里边的项为用户输入的参数个数。