本文最后更新于:2022年7月21日 下午
Python Argparse
Python的Argparse库是一个内置的用来获取命令行输入参数的库。简单来说就是解析下面这条语句中python main.py后面这些参数的。
1
| python main.py -v xxxx -m
|
用法
首先初始化实例,然后对实例添加参数选项,最后解析成对象。
1 2 3 4 5 6
| parser = argparse.ArgumentParser() parser.add_argument(...) args = parser.parse_args()
args.参数名
|
添加普通参数
普通参数就是一个key一个value,最普通的参数类型
1 2 3 4 5
| parser.add_argument("-v", "--video", type=str, required=True, default="./video1.npy", help="帮助文本")
|
无值参数
可以没有value的参数
1 2 3
| parser.add_argument("-m", action="store_true")
args.m == True
|
固定值范围参数
就是value必须从几个选项中选择一个
1 2
| parser.add_argument("--feat", choices=["resnet", "vgg"])
|
多值参数
value可以是多个值,解析结果为列表
1 2
| parser.add_argument('--foo', nargs='*') parser.add_argument('--foo', nargs='+')
|
互斥参数
就是在某个组内的参数不允许同时出现两个及以上
1 2 3
| group = parser.add_mutually_exclusive_group() group.add_argument("-a") group.add_argument("-b")
|
参考文献
argparse — Parser for command-line options, arguments and sub-commands — Python 3.10.0 documentation