python configparser模块

2018-05-24  本文已影响0人  0893051f5f11

在工作中,常常需要把小脚本共享给其他人用。他人在使用的时候,查看修改源码不太方便。于是想到使用python中的configparser模块,只需要修改配置文件就可以运行程序

  1. 配置文件结构(.ini)
[DEFAULT]
attention : no mean


[default]
python = 'hello word'

[copy]
source_folder = F:\img
destin_folder = F:\img5

  • [ ]包含的为 section;
  • section 下面为类似于 key-value 的配置内容;
  • configparser 默认支持 =: 两种分隔。
  1. 初始化实例
    import configparser
    cfg = configparser.ConfigParser()
    cfg.read('test.ini')   # 配置文件的路径
  1. 获取所有section:
cfg.sections()  # 注意会过滤掉[DEFAULT]

返回list:
['default', 'copy']

  1. 获取指定section的Key-value:
cfg.items('copy')

返回由tuple组成的list:
[('source_folder', 'F:\\img'), ('destin_folder', 'F:\\img5')]

可以看到将路径中的下划线自动转义了
'F:\\img5'

  1. 获取指定section的keys:
cfg.options('copy')

返回list:
['source_folder', 'destin_folder']

可以用列表切片的方法获得字符
cfg.options('copy')[0]

  1. 获取指定key 的 value:
cfg['copy']['destin_folder']

返回字符串strF:\img5

cfg.get('copy', 'destin_folder')

返回字符串strF:\img5

  1. 写入
    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
  1. 删除
    cfg.remove_option('section1', 'key1')
    cfg.remove_section('section1')
    cfg.write(open('text.ini','w'))  # 写入才会生效
  1. 检查判断
'key2' in cfg['section1']
微信关注.png
上一篇下一篇

猜你喜欢

热点阅读