Argparse可选参数,如果指定了默认值,则默认值不同
发布于 2021-01-29 15:04:51
考虑程序的三个不同的运行:
python3 prog.py
python3 prog.py --x
python3 prog.py --x 2
是否可以argparse
在第一种情况下,x==None
第二种情况下,x==1
第三种情况下使用x==2
?
关注者
0
被浏览
71
1 个回答
-
nargs'?'
带有const
参数的参数可以很好地处理此三向输入。In [2]: parser = argparse.ArgumentParser() In [3]: parser.add_argument('-x','--x', nargs='?', type=int, const=1) ... In [4]: parser.parse_args([]) Out[4]: Namespace(x=None) In [5]: parser.parse_args(['-x']) Out[5]: Namespace(x=1) In [6]: parser.parse_args(['-x','2']) Out[6]: Namespace(x=2)
我也可以给它一个
default
参数。