Python Argparse:使用空标志

Phi*_*ide 1 python command-line args

我正在尝试编写一个 python 脚本,使用argparse它将一个值设置为Trueif-d已设置。

这是我正在尝试的:

parser.add_argument("-d", "--dynamic", required=False)

dynamic = False
if args.dynamic is not None:
  dynamic = True
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

用法:psd.py [-h] -f FILE [-d DYNAMIC] psd.py:错误:参数 -d/--dynamic:需要一个参数

如何将标志设置为期望 0 个参数?

wim*_*wim 8

使用操作

parser.add_argument("-d", "--dynamic", action='store_true')
Run Code Online (Sandbox Code Playgroud)

您可以删除“必需的”kwarg。

  • @PhilipKirkbride:听起来你还在做`if args.dynamic is not None: ...` 事情。如果是这样,请停止这样做。如果未提供,`store_true` 使参数默认为 `False`,而不是 `None`。 (2认同)