python configparser模块

在工作中,常常需要把小脚本共享给其他人用。他人在使用的时候,查看修改源码不太方便。于是想到使用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

  • get()方法:
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  •   配置文件,较正规的称呼为运行控制文件,存放程序的相关信息,甚至可以为控制命令,在程序启动时开始解析。Pytho...
    小蜗牛的成长阅读 5,677评论 0 2
  • ConfigParser 可以用来读取配置文件。是一个内置模块,不需要独立安装 简单读取配置文件示例 read(f...
    SateZheng阅读 10,870评论 0 2
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,735评论 0 38
  • (此文本人原创,未经允许不得以任意方式谋取利益) 第一章 “老板,这里卖伞吗?” “不卖。” 说完又转身看手机,复...
    金辉玉洁阅读 3,146评论 2 3