【发布时间】:2018-11-09 08:47:27
【问题描述】:
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)
Traceback(最近一次通话最后一次):
文件“Test\test.py”,第 6 行,在
导入配置
文件“C:\Users\jack\PycharmProjects\Test\config.py”,第 6 行,在
host = config['datasource']['host']
文件“C:\Users\jack\AppData\Local\Programs\Python\Python37-32\lib\configparser.py”,第 958 行,在 getitem
引发 KeyError(key)
KeyError: '数据源'
所有文件都放在同一个文件夹中。
当我从 pycharm 运行 Test.py 脚本时,它没有问题。
但是当我从终端调用时,错误来了。
如何解决这个问题?
【问题讨论】:
-
大概是因为工作目录不同,所以
os.getcwd()给出了不同的位置。你几乎肯定不想这样做。 -
打印出
os.path.join(os.getcwd(), 'config.ini'),看看Python在哪里寻找你的文件。 -
config.read(os.path.join(os.getcwd(), 'config.ini'))不会引发任何OSError即使路径不存在。相反,它返回empty list。 -
@DanielRoseman 好的。
os.getcwd()指向“C:\Users\jack\PycharmProjects\”,我在不使用os.getcwd()的情况下更改了路径,它在终端中工作
标签: python configparser