我有一个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或")。