Python argparse模块中nargs用法的深入解析

nargsargparse 模块中用来指定参数的数量的属性。不同的 nargs 取值有不同的含义,下面是一些常用的用法:

  1. nargs=None (默认值):表示该参数只能接收一个值。例如:--foo 123

  2. nargs='?':表示该参数最多接收一个值。如果提供了值,则使用该值;如果没有提供值,则使用默认值或 None。例如:

    parser.add_argument('--foo', nargs='?', default='default_value', help='An optional parameter')
    

    使用方法:

    script.py --foo 123  # foo = '123'
    script.py --foo      # foo = 'default_value'
    script.py            # foo = 'default_value'
    
  3. nargs='*':表示该参数可以接收零个或多个值,并将这些值作为一个列表。例如:

    parser.add_argument('--foo', nargs='*', help='Zero or more parameters')
    

    使用方法:

    script.py --foo 123 456  # foo = ['123', '456']
    script.py --foo          # foo = []
    script.py                # foo = None
    
  4. nargs='+':表示该参数必须接收一个或多个值,并将这些值作为一个列表。例如:

    parser.add_argument('--foo', nargs='+', help='One or more parameters')
    

    使用方法:

    script.py --foo 123 456  # foo = ['123', '456']
    script.py --foo          # 错误:参数必须至少有一个值
    
  5. nargs=整数:表示该参数必须接收指定数量的值,并将这些值作为一个列表。例如:

    parser.add_argument('--foo', nargs=2, help='Exactly two parameters')
    

    使用方法:

    script.py --foo 123 456  # foo = ['123', '456']
    script.py --foo 123      # 错误:参数必须有两个值
    

作者:小米人er

物联沃分享整理
物联沃-IOTWORD物联网 » Python argparse模块中nargs用法的深入解析

发表回复