Python ConfigParser-引发KeyError(键)

时间:2018-11-09 08:47:28

标签: python configparser

config.ini

[datasource]
host = localhost

config.py

import configparser
import os

config = configparser.ConfigParser()
config.read(os.path.join(os.getcwd(), 'config.ini'))
host = config['datasource']['host']

Test.py

import config
print(config.host)
  

回溯(最近通话最近一次):

     

中的文件“ Test \ test.py”,第6行      

导入配置

     

文件

中的第6行,文件“ C:\ Users \ jack \ PycharmProjects \ Test \ config.py”      

host = config ['datasource'] ['host']

     

getitem

中的文件“ C:\ Users \ jack \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ configparser.py”,第958行      

提高KeyError(key)

     

KeyError:'数据源'

所有文件都放在同一文件夹中。

当我从pycharm运行Test.py脚本时,它没有问题。

但是当我从终端呼叫时,错误来了。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果配置文件位于同一目录中

只需获取config.py文件的位置,删除config.py文件名并与config.ini文件联接

path = '/'.join((os.path.abspath(__file__).replace('\\', '/')).split('/')[:-1])
config.read(os.path.join(path, 'config.ini'))

通过这种方法,即使您移动了整个目录,也无需继续更改文件路径