configparser 简介
configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x 中名为 ConfigParser,3.x 已更名小写,并加入了一些新功能。
配置文件的格式如下:
[DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = Tom [topsecret.com] Port: 50022 ForwardX11: no
“[ ]”包含的为 section,section 下面为类似于 key - value 的配置内容;
configparser 默认支持 '=' ':' 两种分隔。
configparser 常用方法
初始化实例
使用 configparser 首先需要初始化实例,并读取配置文件:
>>> import configparser >>> config = configparser.ConfigParser() # 注意大小写 >>> config.read("config.ini") 配置文件的路径 ["]
或者可以直接读字典
>>> parser = configparser.ConfigParser() >>> parser.read_dict({'section1': {key1': value1',... key2value2key3value3},... section2keyAvalueAkeyBvalueBkeyCvalueCsection3fooxbarybazz} ... })
获取所有 sections
>>> config.sections() [bitbucket.org',topsecret.com'] 注意会过滤掉[DEFAULT]
获取指定 section 的 keys & values
>>> config.items() >>>> [(port50022'),(forwardx11no')] 注意items()返回的字符串会全变成小写
获取指定 section 的 keys
>>> config.options() [PortForwardX11']
>>> for option in config[]: ... print(option) Port ForwardX11
获取指定 key 的 value
>>> config.get(User) Tom' >>> config.getint() 50022
检查
>>> DEFAULT' in config True >>> testsection_test] False >>> '][] True
>>> config.has_section() True >>> config.has_option() False
添加
>>> config.add_section(Section_1) >>> config.set(key_1value_1') 注意键值是用set()方法 >>> config.write(open(w')) 一定要写入才生效
删除
>>> config.remove_option() True >>> config.remove_section() True >>> config.clear() 清空除[DEFAULT]之外所有内容 >>> config.write(open('))
关于 [DEFAULT]
[DEFAULT] 一般包含 ini 格式配置文件的默认项,所以 configparser 部分方法会自动跳过这个 section 。
前面已经提到 sections() 是获取不到的,还有删除方法对 [DEFAULT] 也无效:
>>> config.remove_section() False >>> config.clear() >>> ] True >>> config.sections() []
但指定删除和修改 [DEFAULT] 里的 keys & values 是可以的:
>>> config.remove_option() True >>> config.set() >>> config[] '
>>> config.has_section() False >>> config True
原文地址:https://www.cnblogs.com/tracydzf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。