argparse是python中的一个模块,参考官方文档来理解它 argparse — Parser for command-line options, arguments and sub-commands
第一句介绍就是The argparse module makes it easy to write user-friendly command-line interfaces
,
所以这个模块是用于写命令行接口的,使得脚本友好的从命令行传入参数。
导入
1 | import argparse |
创建一个parser对象
1 | parser = argparse.ArgumentParser() |
添加参数
1 | parser.add_argument('integers', metavar='N', type=int, nargs='+', |
这里添加了一个叫做integers
的参数,它的类型是int
,metavar
是用于在help里面来表示这个数的,本来是help里面会使用integers
这个名字,这里就会被替换为N
,nargs
表示这个参数后面可以跟的输入的个数,这里的’+’表示一个或者多个,help
是在打印help信息时给出的提示。
例如下面脚本:
1 | import argparse |
先在命令行中调用帮助信息,
1 | $ python .\test.py -h |
输入正确的参数个数和错误的参数个数,
1 | $ python .\test.py --foo a b 1 |
另外有时候,可能需要使用下面的函数来返回输入参数,
1 | FLAGS, unparsed = parser.parse_known_args() |
这里的意思就是说对于认识的参数,存到FLAGS
里面,对于不认识的参数,存到unparsed
里面。