我创建了一个名为“config.cfg”的配置文件,它和我的.py文件在同一个文件夹中。
[NetAccess]
host=localhost
port=3306
[Credentials]
username=myuser
password=mypass
[Database]
name=mydb
在我.py文件中,我有以下代码:
import configparser
config = configparser.ConfigParser()
config.read('config.cfg')
__DBMSuser = config.get('Credentials', 'username')
__DBMSpsw = config.get('Credentials', 'password')
当我启动程序时,收到此错误:configparser.NoSectionError: No section: 'Credentials'
有人能帮帮我吗?
3条答案
按热度按时间hgqdbh6s1#
你的代码对我来说是有效的。最有可能的问题是阅读配置文件本身。Config Parser的read方法被配置为如果找不到或读取文件就静默失败,但是read函数返回一个read_ok布尔标记。使用它来检查读取是否成功:
rkue9o1l2#
你的代码没有错误,因为它对我有效。
我认为文件中存在一些小错误:
csbfibhn3#
我已经解决了这个问题。我的代码是正确的,.cfg文件正确地保存在我的程序的文件夹中,但是因为我的代码的其他部分,我的当前目录更改为“C:/Windows/Service 32”。没有阅读文件,我没有错误,直到我试图读取部分,所以我得到NoSectionError。为了解决这个问题,我选择了一个标准的文件夹(在AppData中)来保存我的文件并读取它,然后我使用了绝对路径。