Python读取配置文件:提取=前后内容并存入字典的方法求助
配置文件读取与字典转换实现方案
直接给你一套实用的实现代码,同时处理注释、空行和值类型转换(比如把true/false转为布尔值,数字转为对应类型):
config_dict = {} # 用with语句自动管理文件资源,避免忘记关闭 with open("config.cfg", "r") as config_file: for line in config_file: # 去除行首尾的空白字符(换行、空格、制表符) stripped_line = line.strip() # 跳过空行和注释行(假设注释以#开头) if not stripped_line or stripped_line.startswith("#"): continue # 按等号分割,只分割一次,避免值中包含等号的情况 key_part, value_part = stripped_line.split("=", 1) # 去除键和值的前后空白 key = key_part.strip() value = value_part.strip() # 处理值的类型转换 if value.lower() == "true": value = True elif value.lower() == "false": value = False elif value.isdigit(): value = int(value) else: # 尝试转为浮点数,失败则保持字符串 try: value = float(value) except ValueError: pass # 存入字典 config_dict[key] = value
代码说明:
- 用
with语句打开文件,无需手动调用close(),更安全可靠 - 跳过空行和注释行,避免无效数据干扰
- 使用
split("=", 1)只分割一次,确保值里包含等号时不会被错误拆分 - 自动转换常见的配置值类型:布尔值、整数、浮点数,直接用
config_dict["dark-mode"]就能拿到布尔值,不用自己再转换 - 最终所有有效配置项都会存在
config_dict字典里,比如调用config_dict["default-webpage"]就能得到"google.com"
内容的提问来源于stack exchange,提问作者tutel
相关产品推荐
相关产品推荐

