nargs
是 argparse
模塊中用來指定參數的數量的屬性。不同的 nargs
取值有不同的含義,下面是一些常用的用法:
-
nargs=None
(默認值):表示該參數只能接收一個值。例如:--foo 123
。 -
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'
-
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
-
nargs='+'
:表示該參數必須接收一個或多個值,并將這些值作為一個列表。例如:parser.add_argument('--foo', nargs='+', help='One or more parameters')
使用方法:
script.py --foo 123 456 # foo = ['123', '456'] script.py --foo # 錯誤:參數必須至少有一個值
-
nargs=整數
:表示該參數必須接收指定數量的值,并將這些值作為一個列表。例如:parser.add_argument('--foo', nargs=2, help='Exactly two parameters')
使用方法:
script.py --foo 123 456 # foo = ['123', '456'] script.py --foo 123 # 錯誤:參數必須有兩個值