You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从config.ini中读取并解析字典格式的键值对

配置文件字典值读取实现方案

你在config.ini中存储的value内容本身是标准JSON格式字符串,无需额外做格式适配,用Python内置标准库即可完成解析,不需要安装第三方依赖。

方法1:保留现有ini写法实现(推荐)

搭配configparser读取ini配置、json模块做字符串转字典即可:

  • 现有config.ini内容保持不变:
[Section]
value={"name":"John","id":"101"}
  • 解析代码如下:
import configparser
import json

# 初始化配置读取实例
config = configparser.ConfigParser()
# 读取配置文件,替换为你的实际文件路径即可
config.read("config.ini", encoding="utf-8")

# 读取指定节下的value字段,得到原始字符串
value_str = config.get("Section", "value")
# 将JSON字符串解析为Python字典
value_dict = json.loads(value_str)

# 直接按键取值即可
print(value_dict["name"])  # 输出 John
print(value_dict["id"])    # 输出 101

只要你存的value字段内容是合法JSON格式,哪怕带换行、缩进,上述代码都能正常解析,不需要额外处理字符串。

方法2:调整ini写法简化读取逻辑

如果不需要把字典内容存在单个value字段下,可以直接把键值对平铺在对应Section下,不需要套JSON格式,configparser可以直接读取为字典结构:

  • 调整config.ini写法:
[Section]
name=John
id=101
  • 读取代码更简洁:
import configparser

config = configparser.ConfigParser()
config.read("config.ini", encoding="utf-8")

# 直接将整个Section内容转为字典
section_dict = dict(config["Section"])
print(section_dict)  # 输出 {'name': 'John', 'id': '101'}

注意:不要使用eval()函数解析读取到的配置字符串,该方法存在严重安全隐患,若配置文件被恶意注入可执行代码会直接触发运行风险,优先使用json.loads()做解析,安全无副作用。

内容的提问来源于stack exchange,提问作者Adhi cloud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 04:54:18