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

Python读取config.ini出现KeyError: 'FILEPATH'的原因咨询

问题分析与解决

出现KeyError: 'FILEPATH'的核心原因是ConfigParser根本没成功读取到你的config.ini文件,所以找不到对应的配置节点。以下是具体排查和解决步骤:

1. 路径拼接错误(最可能的原因)

你的代码里路径拼接后生成的是:

root_drive = r'P:\scripts\\'
# 拼接后路径:P:\scripts\\Scripts\config.ini
config_object.read(root_drive+'Scripts\config.ini')

但根据你config.ini里的配置(比如input = P:\scripts\Input),config.ini应该直接放在P:\scripts\目录下,而不是P:\scripts\Scripts\子目录里。这就导致ConfigParser找不到文件,自然读不到任何配置。

修正方法:

直接用正确路径指向config.ini:

# 方法1:硬编码正确路径
config_object.read(r'P:\scripts\config.ini')

# 方法2:修正路径拼接逻辑
root_drive = r'P:\scripts\'
config_object.read(root_drive + 'config.ini')

2. 路径转义问题

路径字符串里的反斜杠如果不用raw字符串标记(r''),可能被Python解析为转义字符(比如\c可能被错误解析)。确保所有路径字符串都用raw字符串,或者改用正斜杠(Windows系统也支持正斜杠路径):

config_object.read('P:/scripts/config.ini')

3. 验证文件是否被成功读取

ConfigParser的read()方法找不到文件时不会抛出错误,只会返回空列表。可以添加校验代码确认:

files_read = config_object.read(r'P:\scripts\config.ini')
if not files_read:
    raise FileNotFoundError("config.ini文件未找到或无法读取")

修正后的完整代码示例

import configparser
import datetime

# 初始化配置解析器
config_object = configparser.ConfigParser()
# 读取正确路径下的配置文件
files_read = config_object.read(r'P:\scripts\config.ini')

if not files_read:
    raise FileNotFoundError("无法找到或读取config.ini文件")

filepath = config_object["FILEPATH"]

# 设置输出文件路径
s = datetime.datetime.now()
out_file = filepath["output"] + r'\Final Output File for ' + s.strftime('%Y-%m-%d %H%M%S') + '.xlsx'
log_file = filepath["processlog"] + r'\LogFile_{0}.log'.format(s.strftime('%Y-%m-%d %H%M%S'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:55:15