【python3】configparser读取ini配置文件

在应用过程中,发现下面这个问题: 

cf=configparser.ConfigParser()读取配置文件时,如果数据包含%这们析特殊符号,就会报出上面的错误,使用cf = configparser.RawConfigParser()则不会

下面的示例代码需要作出调整部分,如下2处:

1 from configparser import ConfigParser 替换为 from configparser import RawConfigParser
2 
3 cf=configparser.ConfigParser() 分替换为 cf = configparser.RawConfigParser()

配置文件的格式:

 config.ini

# Flask对象配置
[app]
JSON_AS_ASCII =False
JSONIFY_MIMETYPE = "application/json;charset=utf-8"

config.py

python3用configparser模块中的ConfigParser类读取ini文件,然后使用ConfigParser类中的get方法,然后读取到value值运行结果

from configparser import ConfigParser
import os

basedir=os.path.abspath(os.path.dirname(__file__))
cfgpath=os.path.join(basedir,'config.ini')

conf = ConfigParser()
conf.read(cfgpath)

#app是配置文件中的section名
# conf.options('app')区获取到所有app下的 option
app = conf.options('app')
print(app) #['json_as_ascii', 'jsonify_mimetype']

#conf.get(sectionName,optionName) 获取指定 option的value
JSON_AS_ASCII=conf.get('app','JSON_AS_ASCII')
print(JSON_AS_ASCII) #False

参考文档:

ConfigParser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%&'" 解决方案

原文地址:https://www.cnblogs.com/kaerxifa/p/11782554.html