【发布时间】:2014-02-18 10:09:47
【问题描述】:
我是程序员新手,我正在按照自己的方式完成练习。在练习 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
【问题讨论】:
-
我必须恰好有两个参数。
-
我知道如果我使用“english”参数运行脚本,我会得到反向函数,但是脚本中没有定义参数。还是我只是在 IF 分支中分配它?
-
next 行仅在
if条件为True时执行。它设置一个布尔标志,其余代码根据该标志改变行为。sys.argv由 Python 在解释器启动并查看命令行上使用了哪些参数时设置。 -
感谢您将我指向另一个线程。它解释了很多。
标签: python python-2.7 command-line-arguments