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. java.lang.IllegalStateException: Cannot forward after response has been committe

    参考:https://blog.csdn.net/lewky_liu/article/details/79845655 加上 return 搞定

  2. 你应该知道Go语言的几个优势

    要说起GO语言的优势,我们就得从GO语言的历史讲起了-- 本文由腾讯技术工程官方号发表在腾讯云+社区 2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Grie ...

  3. 拥抱函数式编程 I - 基本概念

    函数编程与命令性编程 为支持使用纯函数方法解决问题,特此创建了函数编程范例. 函数编程是一种声明性编程形式.相比之下,大多数主流语言,包括面向对象的编程 (OOP) 语言(如 C#.Visual Ba ...

  4. Kafka API: TopicMetadata

    Jusfr 原创,转载请注明来自博客园 TopicMetadataRequest/TopicMetadataResponse 前文简单说过"Kafka是自描述的",是指其broke ...

  5. OpenStack与OpenDaylight的对接过程

    由于项目中需要使用OpenDaylight(Oxygen)替换OpenStack(Otaca)中的neutron-openvswitch-agent,能找到的一些资料都是比较旧的版本,官网上的文档也一 ...

  6. 关于java线程池的一丢丢

    线程池应用达到的目的 1.降低资源消耗:可以重复利用已创建的线程从而降低线程创建和销毁所带来的消耗. 2.提高响应速度:当任务到达时,不需要等线程创建就可以立即执行. 3.提高线程的可管理性:使用线程 ...

  7. Pi Zero三代版本演化比较

    本文介绍Pi Zero的版本演进. 5美元的Pi Zero一上市即造成轰动! 2015年11月树莓派基金会发表了只有5美元的树莓派计算机:PiZero,且只要购买纸本的第40期MagPi杂志就可以附送 ...

  8. Bitcoin挖矿

    目录 为什么要挖矿? 比特币挖矿 为什么要挖矿? 增加恶意行为的成本 增加记账权力,获取相应的奖励 比特币挖矿 每开采210000个区块,挖矿奖励减半 2009年1月-2012年11月,奖励50BTC ...

  9. Notes of Daily Scrum Meeting(12.3)

    这个月大家的课业任务很重啊,加上软工有三个课程设计要完成了,感觉亚历山大的说,而且我们alpha阶段完成度低一些, 所以任务更多了,今天做的东西就不多,希望大家加油吧! 团队成员 今日团队工作 陈少杰 ...

  10. 常用校验码(奇偶校验码、海明校验码、CRC校验码)

    一.奇偶校验码 二.海明校验码 三.CRC校验码   计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变成0),由于计算机的储存是通过二进制代码来实现的的, ...