configparser 这个库是配置文件读写库
主要方便我们快速读写配置文件
环境: python3.7 + win10
第0步:安装configparser库
pip install configparser
第1步:引用
from configparser import ConfigParser
第2步:创建对象:
conf = ConfigParser()
第3步:写入配置文件:
conf.add_section("section")
conf.set('section', 'option', 'newvalue')
with open('myconf.conf', 'w', encoding='utf-8') as f:
conf.write(f)
代码说明:
第一行:新建了一个分类:section, 参数名section,值就是section的名称。(注意如果重新增,会出错的)
err: DuplicateSectionError
第二行:给分类的section 新建了一个配置项option ,值就是配置项的内容
第三行: 写入文件,write的参数是一个写文件的句柄,用with 语句,是一种习惯
也可以写成
conf.write(open('myconf.conf', 'w', encoding='utf-8'))
不过,个人不是很喜欢这种风格的写法
接下去是读取配置文件:
conf.read('myconf.conf', encoding='utf-8')
参数:配置文件路径
value = conf.get('section', 'option')
参数说明:section 配置类 option 配置项名
两个参数都要有
如果参数的值写错了,导致读取不到配置文件里的相应内容,会引发错误:
err: NoSectionError
如果不确定的话,可以用has_section(‘sectionname’)来判断是否存在分类,
同样的option是否存在,可以用has_option(‘sectionname’, ‘optionname’)来判断
所以,请看清楚,这里的拼写问题
接下去是改,改的话,要先读取
conf .read('myconf.conf', encoding='utf-8')
conf.set('section', 'option', 'value')
with open('myconf.conf', 'w', encoding='utf-8') as f:
conf.write(f)
改完,记得写入
最后,如果要删除的话,用remove_section,remove_option就可以了,
conf.remove_section('sectionname’)
conf.remove_option('sectionname', 'optionname')
with open('myconf.conf', 'w', encoding='utf-8') as f:
conf.write(f)
记得写入