configparser模块用于生成和修改常见配置文档。

预制配置文件:conf.ini

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes [bitbucket.org]
User = hg
MaxUsers = 100 [topsercret.server.com]
Port = 50022
ForwardX11 = no
解析配置文件
>>> import configparser
>>> conf = configparser.ConfigParser() # 准备处理文件
>>> conf.read('conf_ini')
['conf_ini']
>>> print(conf.sections())
['bitbucket.org', 'topsercret.server.com']
>>> print(conf.default_section)
DEFAULT
>>> 'bitbucket.org' in conf
True
>>> conf['bitbucket.org']['User']
'hg'
>>> print(list(conf['bitbucket.org'].keys()))
['user', 'maxusers', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
>>> for k in conf['topsercret.server.com']:
... print(k)
...
port
forwardx11
serveraliveinterval
compression
compressionlevel

  可以发现,每个节点都会默认包含default值。

增删改查

首先准备conf_test.ini文件

[group1]
k1 = v1
k2:v2 [group2]
k1=v1

对conf_test_ini文件进行读和添加操作:

>>> import shutil
>>> shutil.copyfile('conf_ini', 'conf_test.ini')
'conf_test.ini'
# vim conf_test.ini 修改配置文件信息 >>> import ConfigParser
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'ConfigParser'
>>> import configparser
>>> conf = configparser.ConfigParser()
>>> conf.read('conf_test.ini')
['conf_test.ini']
print(dir(conf))
['BOOLEAN_STATES', 'NONSPACECRE', 'OPTCRE', 'OPTCRE_NV', 'SECTCRE', '_DEFAULT_INTERPOLATION',...'set', 'setdefault', 'update', 'values', 'write']
>>> print(conf.options('group1'))
['k1', 'k2']
>>> print(conf['group1']['k2'])
v2
>>> conf.add_section('group3')
>>> conf['group3']['name'] = 'hqs'
>>> conf['group3']['age'] = '' # 不能使用数字
>>> conf.write(open('conf_test.ini', 'w')) # 写入新文件
[group1]
k1 = v1
k2 = v2 [group2]
k1 = v1 [group3]
name = hqs
age = 22

对conf_test_ini文件进行删操作

>>> import configparser
>>> conf = configparser.ConfigParser()
>>> conf.read('conf_test.ini')
['conf_test.ini']
>>> conf.remove_option('group1', 'k2') # 删除某一项
True
>>> conf.write(open('conf_test.ini', 'w')) [group1]
k1 = v1 [group2]
k1 = v1 [group3]
name = hqs
age = 22
>>> import configparser
>>> conf = configparser.ConfigParser()
>>> conf.read('conf_test.ini')
['conf_test.ini']
>>> conf.remove_section('group3') # 删除某一整个章节
True
>>> conf.write(open('conf_test.ini', 'w'))
>>> ^D
MacBook-Pro:Desktop hqs$ cat conf_test.ini
[group1]
k1 = v1 [group2]
k1 = v1

configparser模块——配置文档的更多相关文章

  1. python常用模块-配置文档模块(configparser)

    python常用模块-配置文档模块(configparser) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ConfigParser模块用于生成和修改常见配置文档,当前模块的名称 ...

  2. configparser模块——用于生成和修改常见配置文档

    配置文档格式 [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [b ...

  3. Python学习 :常用模块(四)----- 配置文档

    常用模块(四) 八.configparser 模块 官方介绍:A configuration file consists of sections, lead by a "[section]& ...

  4. Nginx配置文档具体解释

    Nginx的配置文档具体解释.在这儿做个总结,以便以后使用的时间查看. 下面大部分自己整理.部分来自參考 #设置用户 #user  nobody; #启动进程数(一般和server的CPU同样) #能 ...

  5. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  6. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  7. Hibernate配置文档详解

    Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...

  8. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

  9. Spring Hibernate4 整合配置文档

    1 applicationContext.xml配置文档 <?xml version="1.0" encoding="UTF-8"?><bea ...

随机推荐

  1. Spark大数据处理 之 从WordCount看Spark大数据处理的核心机制(1)

    大数据处理肯定是分布式的了,那就面临着几个核心问题:可扩展性,负载均衡,容错处理.Spark是如何处理这些问题的呢?接着上一篇的"动手写WordCount",今天要做的就是透过这个 ...

  2. POJ-3468-A Simple Problem with Integers(线段树 区间更新 区间和)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 139191 ...

  3. 导出table为Excel

    1.HTML <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=" ...

  4. [JSOI2007]麻将 模拟 BZOJ1028

    题目描述 麻将是中国传统的娱乐工具之一.麻将牌的牌可以分为字牌(共有东.南.西.北.中.发.白七种)和序数牌(分为条子.饼子.万子三种花色,每种花色各有一到九的九种牌),每种牌各四张. 在麻将中,通常 ...

  5. Haproxy配置之URL重写,支持websocket

    配置文件位置:/etc/haproxy/haproxy.cfg Reqrep 正则重写 配置详情: Frontend App *: acl uri_api path_beg /api/ acl uri ...

  6. Qt 学习之路 2(30):Graphics View Framework

    Qt 学习之路 2(30):Graphics View Framework 豆子 2012年12月11日 Qt 学习之路 2 27条评论 Graphics View 提供了一种接口,用于管理大量自定义 ...

  7. [PowerShell]HTML parsing -- get information from a website

    link: http://stackoverflow.com/questions/9053573/powershell-html-parsing-get-information-from-a-webs ...

  8. struts2学习笔记(三)—— struts2的常见配置

    一.配置文件的加载顺序 每次从客户端发送请求到服务器都要先经过Struts2的核心过滤器StrutsPrepareAndExecuteFilter,这个过滤器有两个功能:预处理和执行.在预处理中主要就 ...

  9. Subsequence(二分)

    A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, a ...

  10. Fountains(非线段树版(主要是不太会用))

    Arkady plays Gardenscapes a lot. Arkady wants to build two new fountains. There are n available foun ...