usage: [-h] [--foo FOO] bar
- 如何确保 FOO 的默认值是
abc
如果我像下面一样执行我的脚本
./myscript.py --foo bar
--> bar
这里是位置参数。但args.foo
正在考虑bar
作为论点'--foo'
。我想args.foo
to be abc
and bar
作为位置参数
你不能,除非重新修改你的论点。
你应该使用two在这里切换;一种用于打开行为,另一种用于覆盖所选的默认值。您可以使第二个开关暗示第一个:
usage: [-h] [--foo] [--foo-setting FOO] bar
where --foo
是一个切换行为的布尔开关,并且--foo-setting
允许您设置交换机的配置:
parser.add_argument('--foo', action='store_true')
parser.add_argument('--foo-setting', help='Set the value for foo, implies --foo is given')
# ...
args = parser.parse_args()
if args.foo_setting is not None:
# default was overridden, explicitly enable the foo feature
args.foo = True
if args.foo:
foo_feature_setting = args.foo_setting or 'default value'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)