读取配置dbconfig.ini(含有中文)显示乱码的解决方法
一、原因
Python 3 中虽有encoding 参数,但是对于有BOM(如Windows下用记事本指定为utf-8)的文件,需要使用 utf-8-sig, 使用utf-8没办法。
二、解决方案
具体应用:
def readconfig(type,name):
cf = configparser.ConfigParser()
# file_path = os.path.dirname(os.getcwd()) + '/config/config.ini'
parpath=os.path.abspath('.') #获取当前目录
parpath=os.path.dirname(parpath) #获取当前目录的上级目录
configPath = parpath + '\\config\\config.ini'#拼接查询对应目录
#上面三个可以合成这一个
#configPath = os.path.dirname(os.path.abspath('.')) + '\\config\\config.ini'
# 读取配置文件(此处是utf-8-sig,而不是utf-8),这里主要解决读取配置文件中文乱码问题
cf.read(configPath ,encoding="utf-8-sig")
#获取配置文件中BrowserName对应的值
configval = cf.get(type,name)
#print(configval)
return configval