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

                                         作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  ConfigParser模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser。类似于apache和mysql的配置文件就用这个模块生成的。

一.创建配置文件

 #!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com """
该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)
""" import configparser cfg = configparser.ConfigParser() #创建一个空字典,即“{}” cfg["DEFAULT"] = {
"ServerAliveInterval" :110,
"Compression":"YES",
"CompressionLevel":15,
"ForwardX11":"YES",
} cfg["User information"] = {
"USER":"Yinzhengjie",
} cfg["yinzhengjie.org.cn"] = {
"Port":3389,
"ForwardX11":"no",
} with open("cfg.ini","w")as f:
cfg.write(f)
 [DEFAULT]
serveraliveinterval = 110
compression = YES
compressionlevel = 15
forwardx11 = YES [User information]
user = Yinzhengjie [yinzhengjie.org.cn]
port = 3389
forwardx11 = no

cfg.ini配置文件

二.读取配置文件

 #!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com import configparser cfg = configparser.ConfigParser() cfg.read("cfg.ini") #读取配置文件 print(cfg.sections()) #打印配置文件的字段信息,它默认是不打印“DEFAULT”的信息。 print("yinzhengjie.org.cn" in cfg) #判断cfg是否存在“yinzhengjie.org.cn”这个字段。 print(cfg["User information"]["user"]) #取"User information"字段的"user"这个key所对应的value。 print(cfg.items("yinzhengjie.org.cn")) #找到"yinzhengjie.org.cn"下所有的键值对。 print(cfg.options("yinzhengjie.org.cn")) #同for循环,找到"yinzhengjie.org.cn"下的所有键。
# for key in cfg["yinzhengjie.org.cn"]:
# print(key) print(cfg.get("yinzhengjie.org.cn","compression")) #get方法取深层嵌套的值。 #以上代码执行结果如下:
['User information', 'yinzhengjie.org.cn']
True
Yinzhengjie
[('serveraliveinterval', ''), ('compression', 'YES'), ('compressionlevel', ''), ('forwardx11', 'no'), ('port', '')]
['port', 'forwardx11', 'serveraliveinterval', 'compression', 'compressionlevel']
YES

三.configparser修改和新增的实例

 #!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com import configparser cfg = configparser.ConfigParser() cfg.read("cfg.ini",encoding="utf-8") cfg.set("User information","Name","尹正杰")
cfg.set("User information","user","YINZHENGJIE") cfg.write(open("cfg.ini","w",encoding="utf-8"))
 [DEFAULT]
serveraliveinterval = 110
compression = YES
compressionlevel = 15
forwardx11 = YES [User information]
user = YINZHENGJIE
name = 尹正杰 [yinzhengjie.org.cn]
port = 3389
forwardx11 = no

cfg.ini配置文件

四.configparser删除的实例

 #!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com import configparser cfg = configparser.ConfigParser() #生成一个实例 cfg.read("cfg.ini",encoding="utf-8") #将文件内容加载进来。 cfg.remove_section("yinzhengjie.org.cn") #删除整个section! cfg.remove_option("DEFAULT","compression") #删除某个section的一个子项, cfg.write(open("cfg.ini","w",encoding="utf-8")) #如果有中文的话需要指定编码格式(“utf-8”)才能正常打印汉子哟!
 [DEFAULT]
serveraliveinterval = 110
compressionlevel = 15
forwardx11 = YES [User information]
user = YINZHENGJIE
name = 尹正杰

cfg.ini配置文件

python常用模块-配置文档模块(configparser)的更多相关文章

  1. configparser模块——配置文档

    configparser模块用于生成和修改常见配置文档. 预制配置文件:conf.ini [DEFAULT] ServerAliveInterval = 45 Compression = yes Co ...

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

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

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

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

  4. help python(查看模块帮助文档)

    查看模块帮助文档: help(len) -- docs for the built in len function (note here you type "len" not &q ...

  5. 如何利用启明星Portal门户系统的Page模块构建文档库

    利用启明星门户系统的Page模块构架可以搭建企业内部的文档管理系统. (一)应用背景 企业内部通常都会使用共享网盘的方式来存放不同部门之间的文档,例如管理员在服务器上对人事部门增加人事部文档文件夹. ...

  6. python快速生成注释文档的方法

    python快速生成注释文档的方法 今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等.一看别人专业的大牛们写的文档多牛多羡慕,不用担 ...

  7. Nginx配置文档具体解释

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

  8. 使用 python 创建&更改 word 文档

    使用 python 修改 word 文档 说明:这个需求是老师想要一个自动识别 word 文档中指定位置的分数,并填入相应表格. 使用库 python-docx 的官方文档地址是:python-doc ...

  9. Hibernate配置文档详解

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

随机推荐

  1. vs编译器好多下划波浪线但不报错

    解决办法:项目属性->c/c++->常规->附加包含目录->$(ProjectDir): $(ProjectDir) 项目的目录(定义形式:驱动器 + 路径):包括尾部的反斜杠 ...

  2. 搭建 Guacamole 并解决各种坑和创建不了虚拟驱动器导致无法实现文件传输的方法

    系统类型版本:centos7 64位 结果:最终跑通了项目并且实现了虚拟驱动器的文件传输功能,添加了中文支持 反思总结: 先查看官方文档的Q&A,找找有没有类似的错误,然后如果有错误日志或者现 ...

  3. [CF587F]Duff is Mad[AC自动机+根号分治+分块]

    题意 给你 \(n\) 个串 \(s_{1\cdots n}\) ,每次询问给出 \(l,r,k\) ,问在 \(s_{l\cdots r}\) 中出现了多少次 \(s_k\) . \(n,q,\su ...

  4. Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理

    这篇文章我们来学习如何使用 Spring Boot 集成 Apache Shiro .安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在 Java 领域一般有 Spring S ...

  5. GPT & UEFI Install Windows7

    安装介质以FAT或者FAT32分区安装介质添加UEFI支持文件(Windows7及其以前的系统,不支持UEFI启动) 从Windows8的安装文件中提取Bootmgfw.efi文件,重命名为BOOTX ...

  6. A星寻路算法入门(Unity实现)

    最近简单学习了一下A星寻路算法,来记录一下.还是个萌新,如果写的不好,请谅解.Unity版本:2018.3.2f1 A星寻路算法是什么 游戏开发中往往有这样的需求,让玩家控制的角色自动寻路到目标地点, ...

  7. 01_python2.x和python3.x中range()的区别

    Py2.x 1) .range 和xrange都是经常使用的,特别是range()返回一个列表 2) .xrange()一般用来创建迭代对象 Py3.x xrange()不存在了,只有range()而 ...

  8. es6箭头函数使用场景导致的一些问题

    1. 今天在使用draggable组件时,监听dragmove事件时获取到的事件对象有一些异常, 代码如下 draggable.on('drag:move', (event) => { cons ...

  9. Final互评------《飞词》---- 拉格朗日2018

    一.基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论作品的选题; N(Need,需求):拉格朗日2018团队对需求分析的做法是通过问卷调查的形式,通过问卷调查分析出目前的大学生群体 ...

  10. 团队作业Week5

    每个团队开一个讨论会,协商讨论团队贡献分的分配方式.每个团队的团队贡献分为50分/人.每个人分数不能相同,请详细说明分数的分配规则. 可参考这个博客. 截止时间:2014-10-27