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

使用Python configparser读取.ini文件报KeyError: 'openweathermap'求助

问题排查方案

核心原因分析

该KeyError本质是configparser没有读取到[openweathermap]配置段,大概率为两类原因:要么程序没找到正确的config.ini文件,要么文件内容异常无法被正常解析。

具体排查步骤

  • 第一步:确认config.ini文件内容有效
    你提供的目录列表显示当前目录下的config.ini长度为0,属于空文件,和你贴出的配置内容不符。请打开该文件确认配置内容是否正确写入,保存时不要带多余的BOM头,[openweathermap]段前后不要带多余空格或不可见字符。
  • 第二步:修复配置文件读取路径
    使用相对路径读取文件时,Python会以进程的当前工作目录为基准查找文件,而非脚本自身所在目录。如果你是在IDE中运行代码,或者在其他目录下执行脚本,就会找不到config.ini。configparser找不到文件时不会主动抛错,只会返回空配置对象,进而触发KeyError。
    可以修改代码使用绝对路径读取配置,示例如下:
import configparser
import os

def get_api_key():
    config = configparser.ConfigParser()
    # 拼接得到config.ini的绝对路径,保证和weather.py在同一目录
    config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config.ini')
    # 显式指定编码避免解析异常
    config.read(config_path, encoding='utf-8')
    # 调试用:打印读取到的所有配置段,如果输出为空说明文件未被读取/解析
    # print(config.sections())
    return config['openweathermap']['api_key']

print(get_api_key())
  • 第三步:验证解析结果
    修改后如果仍报错,可以在config.read执行后打印config.sections(),如果输出为空列表说明文件未被正常读取,检查路径是否正确、文件是否有权限访问;如果输出包含其他字段但没有openweathermap,说明文件格式存在问题,重新检查配置内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:54:04