Python Argparse:使用空标志
Posted
技术标签:
【中文标题】Python Argparse:使用空标志【英文标题】:Python Argparse: Use an empty flag 【发布时间】:2017-08-30 01:17:03 【问题描述】:我正在尝试使用argparse
编写一个python 脚本,如果-d
已设置,则将值设置为True
。
这是我正在尝试的:
parser.add_argument("-d", "--dynamic", required=False)
dynamic = False
if args.dynamic is not None:
dynamic = True
我收到以下错误:
用法:psd.py [-h] -f 文件 [-d 动态] psd.py:错误:参数 -d/--dynamic: 需要一个参数
如何将标志设置为期望 0 个参数?
【问题讨论】:
重复***.com/questions/8259001/… 【参考方案1】:使用动作:
parser.add_argument("-d", "--dynamic", action='store_true')
您可以删除“必需”的 kwarg。
【讨论】:
当我这样做时,我没有收到错误,但即使我没有设置标志,动态也总是等于 True。 @PhilipKirkbride:听起来你还在做if args.dynamic is not None: ...
的事情。如果是这样,请停止这样做。 store_true
使参数默认为 False
,而不是 None
,如果未提供。
ah nvm 我知道应该怎么做 args.dynamic 将是 True 或 False 但始终存在以上是关于Python Argparse:使用空标志的主要内容,如果未能解决你的问题,请参考以下文章
Python Argparse:使用单个大头钉作为标志,例如`./myscript -5` 像 Git 和 CoreUtils
为啥 argparse 不能正确解析我的布尔标志? [复制]