我正在尝试在我的数据库中创建表(postgresql 9.6),当我启动我的python脚本时,它会返回以下类型的错误:
“在$ FILEDIR / database.ini文件中找不到部分postgresql”
似乎解析器无法读取该部分,但我不明白为什么。
这是我的配置方法:
def config(filename='$FILEDIR/database.ini', section='postgresql'):
parser = ConfigParser()
parser.read(filename)
db = {}
if parser.has_section(section):
params = parser.items(section)
for param in params:
db[param[0]] = param[1]
else:
raise Exception('Section {0} not found in the {1} file'.format(section, filename))
return db
Database.ini:
[postgresql]
host=localhost
database=mydatabase
user=myuser
password=mypassword
我在this following thread尝试了答案,但它根本没有帮助我。谁知道原因?我正在使用python 2.7,我已经为依赖项执行了“pip install config”和“pip install configparser”。
答案 0 :(得分:1)
#just remove the $FILEDIR. it worked for me.
from configparser import ConfigParser
def config(filename="database.ini", section="postgresql"):
# create a parser
parser = ConfigParser()
# read config file
parser.read(filename)
# get section, default to postgresql
db = {}
if parser.has_section(section):
params = parser.items(section)
for param in params:
db[param[0]] = param[1]
else:
raise Exception(
"Section {0} not found in the {1} file".format(section, filename)
)
return db
答案 1 :(得分:0)
我也遇到了同样的问题,可以通过将整个文件路径放入config中的kwarg中来解决:
def config(filename='/Users/gramb0t/Desktop/python-postgre/data/database.ini', section='postgresql'):