【问题标题】:Python Argparse: Use an empty flagPython Argparse:使用空标志
【发布时间】: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 个参数?

【问题讨论】:

标签: python command-line args


【解决方案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 但始终存在
猜你喜欢
  • 2012-07-15
  • 2018-04-03
  • 2016-04-16
  • 2014-02-12
  • 2014-07-09
  • 2015-02-03
  • 2021-06-24
  • 2020-12-14
  • 2012-01-05
相关资源
最近更新 更多