python之configparser模块详解--⼩⽩博客
configparse模块
⼀、ConfigParser简介
ConfigParser 是⽤来读取配置⽂件的包。配置⽂件的格式如下:中括号“[ ]”内包含的为section。section 下⾯为类似于key-value 的配置内容。[db]
db_host = 127.0.0.1db_port = 69db_user = rootdb_pass = roothost_port = 69
[concurrent]thread = 10processor = 20
括号“[ ]”内包含的为section。紧接着section 为类似于key-value 的options 的配置内容。
⼆、ConfigParser 初始化对象
使⽤ConfigParser ⾸选需要初始化实例,并读取配置⽂件:import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")三、ConfigParser 常⽤⽅法1、获取所⽤的section节点
# 获取所⽤的section节点import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")print(config.sections())#运⾏结果
# ['db', 'concurrent']
2、获取指定section 的options。即将配置⽂件某个section 内key 读取到列表中:
import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")r = config.options(\"db\")print(r)#运⾏结果
# ['db_host', 'db_port', 'db_user', 'db_pass', 'host_port']3、获取指点section下指点option的值
import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")r = config.get(\"db\", \"db_host\")
# r1 = config.getint(\"db\", \"k1\") #将获取到值转换为int型
# r2 = config.getboolean(\"db\", \"k2\" ) #将获取到值转换为bool型# r3 = config.getfloat(\"db\", \"k3\" ) #将获取到值转换为浮点型print(r)#运⾏结果# 127.0.0.1
4、获取指点section的所⽤配置信息
import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")r = config.items(\"db\")print(r)#运⾏结果
#[('db_host', '127.0.0.1'), ('db_port', '69'), ('db_user', 'root'), ('db_pass', 'root'), ('host_port', '69')]
5、修改某个option的值,如果不存在则会出创建
# 修改某个option的值,如果不存在该option 则会创建
import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")
config.set(\"db\", \"db_port\", \"69\") #修改db_port的值为69config.write(open(\"ini\", \"w\"))
运⾏结果
6、检查section或option是否存在,bool值
import configparser
config = configparser.ConfigParser()
config.has_section(\"section\") #是否存在该section
config.has_option(\"section\", \"option\") #是否存在该option7、添加section 和 option
import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")
if not config.has_section(\"default\"): # 检查是否存在section config.add_section(\"default\")
if not config.has_option(\"default\", \"db_host\"): # 检查是否存在该option config.set(\"default\", \"db_host\", \"1.1.1.1\")config.write(open(\"ini\", \"w\"))
运⾏结果
8、删除section 和 option
import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")
config.remove_section(\"default\") #整个section下的所有内容都将删除config.write(open(\"ini\", \"w\")) 运⾏结果9、写⼊⽂件
以下的⼏⾏代码只是将⽂件内容读取到内存中,进过⼀系列操作之后必须写回⽂件,才能⽣效。import configparser
config = configparser.ConfigParser()config.read(\"ini\", encoding=\"utf-8\")
写回⽂件的⽅式如下:(使⽤configparser的write⽅法)config.write(open(\"ini\", \"w\"))