品易云推流 关闭
文章详情页
文章 > Python基础教程 > python配置文件报错怎么解决

python配置文件报错怎么解决

头像

爱喝马黛茶的安东尼

2019-12-31 15:46:582375浏览 · 0收藏 · 0评论

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 文件。

python学习网,大量的免费python视频教程,欢迎在线学习!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图