gpt4 book ai didi

python - 检查是否有任何一长串变量不是 None 的优雅方法,并返回不是的那个?

转载 作者:太空宇宙 更新时间:2023-11-04 08:31:40 26 4
gpt4 key购买 nike

我从环境变量中加载了 8 个变量。如果其中任何一个都不是,我想退出并 sys.exit - 但我也想提醒用户缺少哪个变量。

有几种方法可以做到这一点。假设 a = os.environ.get('a') 代码是通过 h

预先编写的

最详细的工作方式是:

if a is None:
print("A is required")
sys.exit(1)
if b is None:
print("B is required")
sys.exit(1)
if c is None:
print("C is required")
sys.exit(1)
...
so on until the check for h

最干净的方法是:

if not any([a,b,c,d,e,f,g,h]):
print("? is required")
sys.exit(1)

甚至:

if None in [a,b,c,d,e,f,g,h]:
print("? is required")
sys.exit(1)

是否有可能从多个 python 检查(后两个)中实际获取变量名并将其打印给用户?

我可以通过 [a,b,c,d,e,f,g,h].index(None) 获取变量的 index 但是我不确定如何从索引转到变量名。

最佳答案

首先在检索环境变量时执行检查:

def needenv(name):
val = os.environ.get(name)
if val is None:
sys.exit('{} is required.'.format(name))
return val

a = needenv('a')
b = needenv('b')
...

关于python - 检查是否有任何一长串变量不是 None 的优雅方法,并返回不是的那个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52526046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com