我想有一个可选参数,如果仅存在未指定值的标志,则默认为一个值,但是存储用户指定的值,而不是如果用户指定一个值,则存储默认值。是否已经有可用于此的措施?
一个例子:
python script.py --example # args.example would equal a default value of 1 python script.py --example 2 # args.example would equal a default value of 2
我可以创建一个动作,但想查看是否存在执行此操作的方法。
import argparse parser = argparse.ArgumentParser() parser.add_argument('--example', nargs='?', const=1, type=int) args = parser.parse_args() print(args)
% test.py Namespace(example=None) % test.py --example Namespace(example=1) % test.py --example 2 Namespace(example=2)
nargs='?'
const=1
type=int
如果即使未指定,test.py也要设置example为1 --example,则包括default=1。也就是说,
test.py
example
--example
default=1
parser.add_argument('--example', nargs='?', const=1, type=int, default=1)
然后
% test.py Namespace(example=1)