configparser模块
configparser模块
配置文件
是用一种规定的格式来配置的文件,这种文件包含两部分:区setion和内容option。用[]内包含的是section,section 下面类似于key-value 的配置内容option。如
[student]
name = nick
age = 19
gender = male
[school]
name = BeiJing University
addr = BeiJing
# option必须包含在section中,所有的值都是字符串类型,不需要加引号
# 同一人间文件中不能有相同的section,同一section下不能有相同的option
生成配置文件
import configparser
config = configparser.ConfigParser() # 创建config对象
config['student'] = {"name": "nick",
"age": '19',
"gender": 'male'}
config['school'] = {'name': "BeiJing University",
"addr": "BeiJing"}
with open('example.ini', 'w') as f:
config.write(f)
configparser方法
config = configparser.ConfigParser() # 创建config对象
config.read(filenames, encoding=None) # 读配置文件
config.sections() # 获取配置文件中的section,以列表形式返回 -- ['student', 'school']
config.options('school') # 获取section下的所有options -- ['name', 'addr']
config.items('school') # 获取section下的所有内容 -- [('name', 'BeiJing University'), ('addr', 'BeiJing')]
config.get('school','name') # 获取section下指定的option值 -- BeiJing University
config.getint(section,option) # 获取section下指定的option值,并转换成int型
config.getboolean(section,option) # 获取section下指定的option值,并转为bool值
config.remove_section('school') # 移除指定的section
config.write(open('i.ini', "w")) # 写文件
config.has_section('school') # 是否有该section
config.add_section('class') # 添加section
config.write(open('i.ini', "w")) # 写文件
config.set(section,option,value) # 设置section必须要存在,value必须为str
config.write(open('i.cfg', "w"))
config.remove_option(section,option)
config.write(open('i.cfg', "w"))