繁体   English   中英

检查命名空间中是否存在变量

[英]Checking if variable exists in Namespace

我正在尝试使用argparse的输出(仅带有4个位置参数的简单argparse,每个位置的函数取决于设置为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; 但是我无法终生思考如何有效地做到这一点。

如果使用列表理解解决了我的问题(使用技巧使用vars()之后):

l = [ k for (k,v) in args.items() if v ]

l是字典中具有“ True”值的键的列表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM