ArgParser的使用
本文最后更新于:7 个月前
命令行运行Python文件时,可以添加相应的参数。如:
1 |
|
在运行时,from sys import argv
就可以读取命令行参数,通常是一个列表,此处的 argv = [add.py, 1, 2]
。对于比较复杂的程序,使用这种方式读取命令行参数显然还是比较麻烦的。于是就引入了 argparse
模块。具体可以参考官方文档:Parser for command-line options, arguments and sub-commands
1 |
|
先给出一个例子。具体的流程是:
先实例化一个
ArgumentParser
可以添加描述。- 官方文档中还有其余的属性
- 官方文档中还有其余的属性
然后调用
add_argument
方法添加命令行选项name or flags用于识别参数选项,其中有-或者–前缀的是可选命令,如果不加前缀则是位置参数(positional argument) 如运行需要的文件名。
1
2
3
4
5
6
7
8
9
10>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('-f', '--foo')
>>> parser.add_argument('bar')
>>> parser.parse_args(['BAR'])
Namespace(bar='BAR', foo=None)
>>> parser.parse_args(['BAR', '--foo', 'FOO'])
Namespace(bar='BAR', foo='FOO')
>>> parser.parse_args(['--foo', 'FOO'])
usage: PROG [-h] [-f FOO] bar
PROG: error: the following arguments are required: baraction是指接受参数之后要执行的动作,通常是
store_false
,store_true
或者store_const
,不需要接受其余参数,直接将对应的选项变量保存为特定的值。这是使用得比较多的选项。append
是一个特殊的action,它会将参数追加到列表中。count
是一个特殊的action,它会将参数计数,并将计数值保存到变量中。其他还有一些方法这里就不再赘述了,具体使用的时候可以参考官方文档。
最后调用
parse_args
方法解析命令行参数,返回一个Namespace
对象,其中包含了所有的参数。
ArgParser的使用
https://coldison.github.io/2022/07/13/ArgParser的使用/