主要问题
- 为什么
argv
中第一个,即index=0的内容就是文件名? - python中
argc
是用什么实现的?概念解释
argc
:argument counter,命令行参数个数argv
:argument vector,命令行参数向量(内容)通过代码理解含义
创建一个文件arg_exam.py
,其中内容如下:1
2
3
4
5
6
7
8# argv
import sys
for i in sys.argv:
print i
# argc
argc = len(sys.argv)
print argc
在shell中运行一个简单的例子1
$ python arg_exam.py hello I am an example
输出为1
2
3
4
5
6
7arg_exam.py
hello
I
am
an
example
6
所以说,argv
就是python
命令后跟着的一系列命令参数的内容。
而argc
(在C语言存在的变量)就是这些命令参数的个数了,在python中因为argv
是个列表,其长度len
自然就是argc
了,所以python中并没有为argc
特地设置一个方法或者属性。
结论
- argv是在命令行中运行程序时跟在
python
命令后的所有内容,以空格为分界,得到各元素。 - python中argc并不是一个特定属性或方法,而是可以直接通过
len(sys.argv)
获得。