我们先新建一个配置文件,假设文件名称叫 test.cfg,文件内容如下:
[db] dbuser = test dbpassword = test123 dbport = 3308 [email] emailto = [email protected]
以下代码的运行环境:Win10/Python3.7
读取配置文件的基本操作
read(filename):读取文件内容
sections():获取所有section,返回list
options(section):获取该section所有options,返回list
items(section):获取options键值对,返回list
get(section,option):获取section的option值,返回string;getint,getboolean,getfloat同理
在test.cfg文件同级目录下新建一个python文件,内容如下:
import configparserconfig = configparser.ConfigParser() config.read("test.cfg" ) print (config.sections())print (config.options("db" ))print (config.items("db" ))print (config.get("db" , "dbuser" ))print (config.getint("db" , "dbport" ))for s in config.sections(): for items in config.items(s): print (items)
运行后的结果:
['db' , 'emain' ] ['dbuser' , 'dbpassword' , 'dbport' ] [('dbuser' , 'test' ), ('dbpassword' , 'test123' ), ('dbport' , '3308' )] test 3308 ('dbuser' , 'test' ) ('dbpassword' , 'test123' ) ('dbport' , '3308' ) ('emailto' , '[email protected] ' )
注意: 在读取配置文件的时候,传入的sections,options要实际存在,否则会报错。
写入配置文件的基本操作
write(filename):将config对象写入配置文件。如果没有事先read而直接write,则会覆盖原先的文件内容
add_section(section):添加新的section
set(section,option,value):给section中option赋值(新增,或者是修改)
remove_setcion(section):删除某section
remove_option(section,option):删除该section下的option
在test.cfg文件同级目录下新建一个python文件,内容如下:
import configparserfilename = "test.cfg" config = configparser.ConfigParser() config.read(filename) config.add_section("user" ) config.set ("user" , "name" , "Root" ) if "db" not in config.sections(): config.add_section("db" ) config.set ("db" ,"dbuser" ,"platform" ) with open (filename, "w+" ) as f: config.write(f)
注意: 在对section操作之前,要先判断section是否存在,避免运行时抛异常。
运行后,test.cfg文件内容被修改为:
[db] dbuser = platform dbpassword = test dbport = 3308 [email] emailto = test @qq.com [user] name = Root
至此,ConfigParser模块的使用就介绍完了,用法比较简单,易上手。