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.7venvScriptspython.exe D:/python2.7/practises/practise/readConfig.py
D:python2.7practisespractiseconfigs.txt
D:python2.7practisespractiseconfigs.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 文件

原文地址:https://www.cnblogs.com/111testing/p/9609105.html