python - Python ConfigParser - 引发 KeyError(键)
问题描述
配置文件
[datasource]
host = localhost
配置文件
import configparser
import os
config = configparser.ConfigParser()
config.read(os.path.join(os.getcwd(), 'config.ini'))
host = config['datasource']['host']
测试.py
import config
print(config.host)
回溯(最近一次通话最后):
文件“Test\test.py”,第 6 行,在
导入配置
文件“C:\Users\jack\PycharmProjects\Test\config.py”,第 6 行,在
主机=配置['数据源']['主机']
文件“C:\Users\jack\AppData\Local\Programs\Python\Python37-32\lib\configparser.py”,第 958 行,在getitem
引发 KeyError(键)
KeyError:“数据源”
所有文件都放在同一个文件夹中。
当我从 pycharm 运行 Test.py 脚本时,它没有问题。
但是当我从终端调用时,错误来了。
如何解决这个问题呢?
解决方案
如果配置文件放在同一目录下
只需获取 config.py 文件位置,删除 config.py 文件名并加入 config.ini 文件
path = '/'.join((os.path.abspath(__file__).replace('\\', '/')).split('/')[:-1])
config.read(os.path.join(path, 'config.ini'))
这样,即使您移动整个目录,您也不需要不断更改文件路径
推荐阅读
- java - 邮递员返回“状态”:404,“错误”:“未找到”,用于弹簧启动
- wordpress - 如何在 wordpress 上创建条件字段
- java - [爪哇;春天]。在映射之前存储数据
- python - 如果值 = NaN 那么
- html - 我们如何在 Safari 浏览器的文本区域输入中添加多行占位符?
- vue.js - 如何在 vue3 中将所有值重置为初始状态
- javascript - HTML表格中导入的Excel数据未定义
- python - 通过 Excel VBA 运行 Python 脚本
- java - 如何在 com.deque.html.axe-core 中为 selenium java 配置 wcag2aa 的可访问性规则
- google-sheets - 带有 Arrayformula 的 Google 表格查询功能