python 读取配置文件总是报错 configparser.NoSectionError: No section:

本文为作者原创,禁止转载,违者必究法律责任!!!


python 读取配置文件总是报错 configparser.NoSectionError: No section:


无论是 python2的版本,还是python3的版本在读取配置文件时都会出现上面的报错


解决方案:


1,配置文件尽量设置为config.txt类型的文本文件,不要设置为onfig.ini



[baseUrl]
url_baidu = https://www.baidu.com
url_taobao = https://www.taobao.com
[email]
email_baidu = baidu@qq.com
email_taobao = taobao@qq.com



2,写一个 readConfig.py 的文件用来读取 config.txt 配置文件,具体代码如下



import os
import configparser

proDir = os.path.split(os.path.realpath(__file__))[0]
# proDir = os.path.dirname(os.path.realpath(__file__))  与上面一行代码作用一样
configPath = os.path.join(proDir, "configs.txt")
path = os.path.abspath(configPath)
print(configPath)
print(path)

conf = configparser.ConfigParser()
# 下面3种路径方式都可以
conf.read(path)
# conf.read(configPath)
# conf.read("D:/python2.7/practises/practise/configs.txt")

url_baidu = conf.get('baseUrl', 'url_baidu')
url_taobao = conf.get('baseUrl', 'url_taobao')
email_baidu = conf.get('email', 'email_baidu')
email_taobao = conf.get('email', 'email_taobao')

print url_baidu
print url_taobao
print email_baidu
print email_taobao



输出的内容是:



D:\python2.7\venv\Scripts\python.exe D:/python2.7/practises/practise/readConfig.py
D:\python2.7\practises\practise\configs.txt
D:\python2.7\practises\practise\configs.txt
https://www.baidu.com
https://www.taobao.com
baidu@qq.com
taobao@qq.com



3,但是我将 config.txt 类型的文本文件 设置为 onfig.ini 时,就会出现 configparser.NoSectionError: No section: ,很有可能是因为没有读取到 onfig.ini 文件