argparse参数总结(方便之后自己看)
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。其主要用法如下:
# 1导入
import argparse
# 2.建立对象
parser=argparse.ArgumentParser(description="This is a Demo")
# 3.增加属性
parser.add_argument('--name',default="pn")
# 4实例化
args=parser.parse_args()
# 5打印参数
print(args.name)
description是argparse的具体描述,add_argument用来增加参数。更多的参数介绍如下:
1.default:默认参数
2.required:该参数是否一定需要设置(True表示该参数一定要设置)
3.type:参数类型。默认的参数类型是str类型,如果需要整数或者布尔型参数,需要设置type=int或者type=bool
4.
choices:参数值只能从几个选项里面选择。例如:
parser.add_argument('-arch', required=True, choices=['yolov4', 'yolox'])
5.help:指定参数的说明信息
6.nargs:设置参数在使用时提供的个数。例如:
parser.add_argument('-name', nargs=x)
其中x的候选值和含义如下:
值 含义
N 参数的绝对个数(例如:3)
'?' 0或1个参数
'*' 0或所有参数
'+' 所有,并且至少一个参数
# file-name: nargs.py
import argparse
def get_parser():
parser = argparse.ArgumentParser(
description='nargs demo')
parser.add_argument('-name', required=True, nargs='+')
return parser
if __name__ == '__main__':
parser = get_parser()
args = parser.parse_args()
names = ', '.join(args.name)
print('Hello to {}'.format(names))
$ python nargs.py -name A B C
Hello to A, B, C
7.dest:设置参数的变量名。argparse默认的变量名是--
或-
后面的字符串,但是你也可以通过dest=xxx
来设置参数的变量名,然后在代码中用args.xxx
来获取参数的值。
8.action - 命令行遇到参数时的动作,默认值是 store。
store_ture/store_false:保存相应的布尔值
store_const,表示赋值为const;
append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
append_const,将参数规范中定义的一个值保存到一个列表;
count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
参考:
https://blog.csdn.net/yy_diego/article/details/82851661?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162769923216780262510649%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162769923216780262510649&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-82851661.first_rank_v2_pc_rank_v29&utm_term=argparse&spm=1018.2226.3001.4187
https://vra.github.io/2017/12/02/argparse-usage/