简体   繁体   English

在 Python 中引发 KeyError(key)

[英]raise KeyError(key) in Python

I am trying to ready file path from file called config.ini using following code.我正在尝试使用以下代码从名为 config.ini 的文件准备文件路径。

root_drive = r'P:\scripts\\'
config_object = ConfigParser()
config_object.read(root_drive+'Scripts\config.ini')
filepath= config_object["FILEPATH"]
'''SETUP VARIABLES'''
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'))

My config.ini file looks like this containing filepaths.我的 config.ini 文件看起来像这样包含文件路径。

[FILEPATH]
input = P:\scripts\Input
processed = P:\scripts\Processed
output = P:\scripts\Output
processlog = P:\scripts\LogFiles
dupes = P:\scripts\Processed\DuplicateInput

Error I am getting is:我得到的错误是:


raise KeyError(key)
KeyError: 'FILEPATH'

Why is the FILEPATH not working?为什么 FILEPATH 不起作用?

I hardcoded the paths but doesn't work.我对路径进行了硬编码但不起作用。

Check to make sure that your config file does actually exist at P:\scripts\\Scripts\config.ini .检查以确保您的配置文件确实存在于P:\scripts\\Scripts\config.ini中。 I suspect that you have an extra \ in the root_drive component.我怀疑您在root_drive组件中有一个额外的\

import os
from configparser import ConfigParser
root_drive = r'P:\scripts\\' # This should be r'P:\scripts\'
config_path = root_drive + 'Scripts\config.ini'
if not os.path.isfile(config_path):
    print(f"{config_path} does not exist!")
config_object = ConfigParser()
config_object.read(config_path)
filepath= config_object["FILEPATH"]
'''SETUP VARIABLES'''
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'))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM