参考资料:https://docs.python.org/zh-cn/3.7/library/configparser.html
1.配置文件结构
cfg文件:
cfg文件是通过各种程序使用的通用配置文件。它包含的设置和配置信息以及不同的程序可以以不同的格式存储这些数据。
简单的配置文件:(图片来源:https://docs.python.org/zh-cn/3.7/library/configparser.html)
总的来说,这种文件由多个节组成,每个节包含多个带有值的键。
2、Python使用配置文件方法
import configparser
#create config
config = configparser.ConfigParser()
Python读取*.cfg文件:
import configparser
cp = configparser.ConfigParser()
cp.read('test.cfg')
3、遇到报错
(1)Python ConfigParser.NoSectionError: No section:
路径错误导致的问题,需要查看文件路径下是否含有配置文件。(或者直接放置文件路径和文件名)
修改方法:
path = Path(__file__)
current_dir=os.path.dirname(os.path.realpath(__file__))
ROOT_DIR = path.parent.absolute()
config_filename = os.path.join(ROOT_DIR, "config_.cfg")
(2)读取配置文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 2151: illegal multibyte sequence
解决办法:将cfg文件改写成ini文件格式
输入下面代码测试:
import configparser
file = './config/hydro/config_hydro_ffsar_bp.ini'
# 创建配置文件对象
con = configparser.ConfigParser()
# 读取文件
con.read(file, encoding='utf-8')
# 获取所有section
sections = con.sections()
注意read函数添加encoding=‘utf-8’,不会报错。