有两种方法
方法一:
比如想设置个参数,它可以接收多个整数值,那么可以在add_argument中设置action=“append”
import argparse
parser=argparse.ArgumentParser()
parser.add_argument("--foo",type=int,default=[],action="append")
opt=parser.parse_args()
print(opt.foo)
调用方式及结果如下:
python main.py --foo 1 --foo 3 --foo 4 --foo 5
[1, 3, 4, 5]
python3.8中还可以用action=“extend”,这样就不需要挨个值前面都跟一个–arg_name了,具体可查看https://docs.python.org/3.9/library/argparse.html#action
方法二
不设置action,而是设置nargs=“+”,这样可以不用挨个值前面都跟一个–arg_name
import argparse
parser=argparse.ArgumentParser()
parser.add_argument("--foo",type=float,default=[],nargs="+")
opt=parser.parse_args()
print(opt.foo)
调用方式及结果如下:
python main.py --foo 0.2 0.3
[0.2, 0.3]
参考文章:
1.https://blog.csdn.net/qq_38962621/article/details/110579156