学习Python艰苦的方法练习41 - sys.argv

时间:2014-01-27 14:13:45

标签: python python-2.7 command-line-arguments

我是程序员新手,我正在练习练习。在练习41中,我有点困惑(http://learnpythonthehardway.org/book/ex41.html)。

我不懂行n。 25:

if len(sys.argv) == 2 and sys.argv[1] == "english":

我试过查找sys.argv的功能,但我似乎无法绕过它。根据我的理解 - sys.argv是一个命令行参数列表,但是我不明白脚本中这些参数的位置。因此,我不理解分支。

我理解“len”计算该列表中的项目数,这意味着必须至少有三个参数,列表中的第一项必须包含字符串“english”。我只是不明白如何在这个特定的脚本中声明参数。

我正在使用Python 2.7

1 个答案:

答案 0 :(得分:2)

中的参数不在脚本中。它们被称为命令行参数,因为它们是在用户从命令行调用脚本时由用户提供的:

python oop_test.py english
                 # ^ sys.argv[1]
     # ^ sys.argv[0]

所以你首先检查的代码是否提供了两个参数(不是“至少三个”),然后是第二个(Python是从零开始,所以第一个项目是argv[0])是"english"

argv中的第一项始终是脚本名称; see the docs