在工作中,常常需要把小脚本共享给其他人用。他人在使用的时候,查看修改源码不太方便。于是想到使用python中的configparser模块,只需要修改配置文件就可以运行程序
- 配置文件结构(.ini)
[DEFAULT]
attention : no mean
[default]
python = 'hello word'
[copy]
source_folder = F:\img
destin_folder = F:\img5
[ ]
包含的为 section;- section 下面为类似于 key-value 的配置内容;
- configparser 默认支持
=
、:
两种分隔。
- 初始化实例
import configparser
cfg = configparser.ConfigParser()
cfg.read('test.ini') # 配置文件的路径
- 获取所有section:
cfg.sections() # 注意会过滤掉[DEFAULT]
返回list:
['default', 'copy']
- 获取指定section的Key-value:
cfg.items('copy')
返回由tuple组成的list:
[('source_folder', 'F:\\img'), ('destin_folder', 'F:\\img5')]
可以看到将路径中的下划线自动转义了
'F:\\img5'
- 获取指定section的keys:
cfg.options('copy')
返回list:
['source_folder', 'destin_folder']
可以用列表切片的方法获得字符
cfg.options('copy')[0]
- 获取指定key 的 value:
- 直接使用:
cfg['copy']['destin_folder']
返回字符串strF:\img5
- get()方法:
cfg.get('copy', 'destin_folder')
返回字符串strF:\img5
- 写入
cfg.set('section1', 'key1', 'value1')
cfg.set('section1', 'key2', 'value2')
cfg.set('section1', 'key3', 'value3')
cfg.write(open('test.ini', 'a+')) # 写入才会生效
写入文档后,文档显示效果:
[section1]
key1 = value1
key2 = value2
key3 = value3
- 删除
cfg.remove_option('section1', 'key1')
cfg.remove_section('section1')
cfg.write(open('text.ini','w')) # 写入才会生效
- 检查判断
'key2' in cfg['section1']