我刚接触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从零开始计数?或者是否有一些不同或更多的原因。这很奇怪,但有趣。
答案 0 :(得分:8)
是的,Python推测使用从零开始的索引(和许多其他编程语言一样)。
sys.argv
是一个字符串列表。
sys.argv[0]
将包含脚本的名称,此字符串列表中的后续条目将包含提供给脚本的命令行参数。
我打算提供一个例子,但你在帖子中所拥有的内容与我想出的一样好。
最后,正如@GregHewgill在下面的有用评论中指出的那样,Python docs也提供了有关此问题的更多信息。
答案 1 :(得分:4)
从C开始,参数从0开始计算argv
,可能在此之前。参数0是可执行文件/脚本名称,其后的所有其他参数都从1开始。