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')
printurl_baidu
printurl_taobao
printemail_baidu
printemail_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 文件。