Python参数计数

时间:2012-08-13 00:38:05

标签: python command-line-arguments

我刚接触Python中的参数,我发现参数系统在Python中的工作方式很奇怪(我不确定其他语言)。例如:

from sys import argv

arg1, arg2, arg3 = argv

print "First argument: ", arg1
print "Second argument: ", arg2
print "Third argument: ", arg3

当我在命令行中使用以下参数运行它时:

python example.py First Second

它给出了输出:

First argument: example.py
Second argument: First
Third argument: Second

这是否意味着python从零开始计数?或者是否有一些不同或更多的原因。这很奇怪,但有趣。

2 个答案:

答案 0 :(得分:8)

是的,Python推测使用从零开始的索引(和许多其他编程语言一样)。

sys.argv是一个字符串列表。

sys.argv[0]将包含脚本的名称,此字符串列表中的后续条目将包含提供给脚本的命令行参数。

我打算提供一个例子,但你在帖子中所拥有的内容与我想出的一样好。

最后,正如@GregHewgill在下面的有用评论中指出的那样,Python docs也提供了有关此问题的更多信息。

答案 1 :(得分:4)

从C开始,参数从0开始计算argv,可能在此之前。参数0是可执行文件/脚本名称,其后的所有其他参数都从1开始。