簡體   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