您的当前位置:首页正文

argparse参数总结(方便之后自己看)

2024-11-29 来源:个人技术集锦

        argparse 是自带的命令行参数解析包,可以用来方便地读取命令行参数。其主要用法如下:

# 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 自定义参数解析;

参考:

 

显示全文