configparser.NoSectionError: No section:*****报错原因及解决方法

今晚在练习PO模式的时候,碰到了一个我之前没有碰到过的问题,写读取配置文件的方法的时候,报错:configparser.NoSectionError: No section:******;

后来百度的时候,找到了解决方法。

首先分析下原因:

很有可能是因为没有读取到 onfig.ini 文件,尽量把文件设置成.txt格式的。

文件路径不对,没有正确读取。原因主要还是文件的路径问题。

 

解决方法:

我之前是这样写的:

import configparser

def read_inis(self):
  filepath='E:/pythonProject/xiangmu3/configss/inst'
  conf=configparser.Configparser()
  conf.read(filepath,encoding="utf-8")
  return conf

读取时就报错:configparser.NoSectionError: No section:*****

后来修改为:
import os,
import configparser
def read_inis(self):
parent_dir = os.path.dirname(os.path.abspath(__file__))
conf=configparser.ConfigParser()
conf.read(os.path.join(parent_dir ,'E:/pythonProject/xiangmu3/configss/inst'),encoding="utf-8")
return conf
这样修改后,就能正确的读取配置文件中的内容了。

首先我们不能使用相关路径或者绝对路径的方式,这种方式只对特定的路径有效,也就是你程序写死了。

有效的解决思路是找到你文件的绝对路径,在代码中用全局变量记录下来,其他部分在此基础上进行本机或者上下级目录等操作。


"

posted @ 2021-04-20 22:04  知识在于点滴的积累  阅读(5746)  评论(0编辑  收藏  举报