【发布时间】:2015-08-17 12:34:52
【问题描述】:
我正在尝试使用我的 argparse 的输出(简单的 argparse,只有 4 个位置参数,每个函数的启动取决于设置为 True 的变量)
Namespace(battery=False, cache=True, health=False, hotspare=False)
目前,我正试图弄清楚如何最好地让 python 查看这些变量之一何时设置为 True;无需像现在这样硬编码:
if args.battery is True:
do_something()
elif args.cache is True:
do_something_else()
etc ...
我宁愿只使用一个命令来检查命名空间中是否存在变量以及它是否设置为 True;但我一生都无法弄清楚如何以有效的方式做到这一点。
【问题讨论】:
-
argparse使用getattr(namespace, dest)来检查值。vars(args)创建字典。您可以从中获取键和值。
标签: python namespaces argparse