本文是使用Python自带类configparser
1.config.ini文件,未修改前
[DEFAULT]
aa = 111
[HTTP]
baseurl = 127.0.0.1
port = 8000
[SECTION1]
bb = 222
[SECTION2]
cc = CC
abc = aa
2.对配置文件进行操作源码
import configparser
cf = configparser.ConfigParser()
cf.read('config.ini') # 之所以能够直接传文件名,是因为执行py文件和config.ini文件在同级目录下
fp = open(r'config.ini','w') # 必须先读取,再open否则内容无法写进文件
print(cf.defaults()) # 返回默认的section的值,返回的是一个字典的对象
print(cf.has_section('SECTION2')) # 判断section是否存在,返回对象是一个Boolean类型
print(cf.sections()) # 除DEFAULT外,所有section名称,返回的是一个数组
print(cf.options('SECTION2')) # 查询某个section中的所有值,返回对象是一个数组,其值是section所有的值
print(cf.get('HTTP','baseurl')) # 查询某个section中,某个option的值
print(cf.items('HTTP')) # 返回某个section中所有的option,包括default中的option
print(cf.has_option('HTTP','baseurl')) # 判断在某个section中是否有某个option,返回对象是Boolean类型
print(cf.add_section('SECTION3')) # 添加一个新的section
cf.set('SECTION2','abc',value='hhhhh')# 设置某个section中的某个option的值
cf.write(fp)
print(cf.popitem()) # 弹出第一个section,感觉类似先进先出的逻辑
print(cf.remove_section('SECTION3'))# 删除指定section
print(cf.remove_option('SECTION2','abc')) # 删除指定section中的指定option
方法名称 | 作用 |
---|---|
defaults() | 返回默认的section的值,返回的是一个字典的对象 |
has_section(self, section) | 判断section是否存在,返回对象是一个Boolean类型 |
sections() | 除DEFAULT外,所有section名称,返回的是一个数组 |
options(self, section) | 查询某个section中的所有值,返回对象是一个数组,其值是section所有的值 |
get(self, section, option, *, raw=False, vars=None, fallback=_UNSET) | 查询某个section中,某个option的值 |
items(self, section=_UNSET, raw=False, vars=None) | 返回某个section中所有的option,包括default中的option |
has_option(self, section, option) | 判断在某个section中是否有某个option,返回对象是Boolean类型 |
add_section(self, section) | 添加一个新的section |
set(self, section, option, value=None) | 设置某个section中的某个option的值 |
write(self, fp, space_around_delimiters=True) | 将数据写入到配置文件中 |
popitem() | 弹出第一个section,感觉类似先进先出的逻辑 |
remove_section(self, section) | 删除指定section |
remove_option(self, section, option) | 删除指定section中的指定option |
3.程序运行结果
4.程序执行完后,配置文件中的内容
[DEFAULT]
aa = 111
[HTTP]
baseurl = 127.0.0.1
port = 8000
[SECTION1]
bb = 222
[SECTION2]
cc = CC
abc = hhhhh
[SECTION3]
注:如果要写入配置文件,一定要先读取,再打开,否则会无法正常写入到配置文件中。