import argparse
parser = argparse.ArgumentParser(description="Meow like a cat")
parser.add_argument("-n", default=1,help="number of times to meow", type=int)
args = parser.parse_args()
for _ in range(arg.n):
print("meow")
我真的不明白在第4行中使用-n的目的,我知道它是命令行参数的值持有者,但为什么是-n;它有特殊的意义吗?此外,为什么在for循环中,参数采用arg.n而不是arg-n因为它以前就是这么用的?谢谢你的帮助!
add_argument("-n", ...)
定义了一个以"-n"为标志的参数,并与一起使用
$python your_script -n 1
argparse
将该值设置为args
对象。
print(args)
Namespace(n=1)
然后作为访问
args.n
所有这些都应在argparse
文档中进行解释。
"n"称为dest
,它是通过去掉短划线从add_argument
选项字符串派生而来的。
add_argument('-n','--number', ...)
将dest
设置为"数字",但接受任一
myscript -n 1
myscript --number 3
这是向程序传递参数的惯例,而不是Python本身的东西。所以通常是-{single-letter}
或--{a word}
。因此,在这种情况下,-n
和--number
是相同的
命令行工具有两种参数:标志/选项(用单或双破折号表示,在本例中为-n
,但也可以是类似--version
的参数(和位置参数,它们只是数据(例如路径(。你可以在这里找到它们的一个解释。
您可以在Python文档中找到关于argparse的文档,这些文档展示了您对不同类型的参数有什么样的选择,以及如何将它们转换为生成的Python对象。