我如何检查这个字典中的每个键是否存在,并且它们都有一个非空值?



我有一个toml文件,看起来像

[default]
conf_path = "d"
prefix = "p"
suffix = "s"

我正在把它变成一个字典,看起来像,

{default: {'conf_path': 'd', 'prefix': 'p', 'suffix': 's'}}

键为default,值为字典。我想检查default是否存在,并且对于值中的字典—我想检查conf_path,前缀,后缀键是否存在,并且它们的值都不是''None

这是我目前所知道的。我在检查默认值字典中的键和值时遇到麻烦。

def get_config_path() -> str:
"""
"""
default_path = os.path.expanduser(const.CONFIG_PATH)
final_path = os.environ.get('CONFIG_PATH', default_path)
return final_path

def check_toml():
conf = Path(get_config_path())
default_table = ['default', 'conf_path', 'prefix', 'suffix']
if conf.exists():
toml_dict = tomlkit.loads(Path(get_config_path()).read_text())
d = toml_dict['default']
for key, value in d.items():
d = key
else: d = 'File does not exist.'
return d

我如何检查三个特定的键是否存在并且它们都有一个值?

我不知道如何检查这三个键是否存在,它们都有一个不是''None的值,如果满足所有条件,然后说true

I can do no problem though

if toml_dict['default'].get('conf_path') not in (None, ''):

我在考虑如何使用列表。

if 'default' in conf and all(key in conf['default'] and conf['default'][key] for key in ('conf_path', 'prefix', 'suffix')):

这确保default元素存在,并且您感兴趣的每个键都有一个true值(即不是None或")。

最新更新