Python内置模块ConfigParser实现配置读写功能的方法

yipeiwu_com7年前Python基础

本文实例讲述了Python内置模块ConfigParser实现配置读写功能的方法。分享给大家供大家参考,具体如下:

用于对特定的配置进行操作,当前模块的名称在 python 3.x 版本中变更为 configparser。

#配置文件test.cfg
[section1]
k1 = v1
k2 :v2
k3 = 1
[section2]
k1 = v1

#coding:utf-8
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('test.cfg')
# ########## 读 ##########
#获取所有sections.
secs = config.sections()
print secs #['section1', 'section2']
#获取制定section的键key
options = config.options('section1')
print options  #['k1', 'k2', 'k3']
#获取指定section的键值对key-value
item_list = config.items('section1')
print item_list #[('k1', 'v1'), ('k2', 'v2'), ('k3', '1')]
#获取指定key的value
# 获取字符串类型的value
val1 = config.get('section1','k1')
# 获取整型的value
val2 = config.getint('section1','k3')
# ########## 增改删 ##########
# 增加section
if not config.has_section('section3'):
  config.add_section('section3')
  config.write(open('test.cfg', "w"))
#设置option
if not config.has_section('section3'):
  config.set('section3','k1',11111)
  config.write(open('test.cfg', "w"))
# 移除option
ret = config.remove_option('section3','k1')
print ret  #True or False
config.write(open('test.cfg', "w"))
# 移除section
ret = config.remove_section('section3')
print ret  #True or False
config.write(open('test.cfg', "w"))

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Django中使用 Closure Table 储存无限分级数据

这篇文章给大家介绍Django中使用 Closure Table 储存无限分级数据,具体内容如下所述: 起步 对于数据量大的情况(比如用户之间有邀请链,有点三级分销的意思),就要用到 c...

用Python的Tornado框架结合memcached页面改善博客性能

原因 Blog是一个更新并不很频繁的一套系统,但是每次刷新页面都要更新数据库反而很浪费资源,添加静态页面生成是一个解决办法,同时缓存是一个更好的主意,可以结合Memcached添加少量的...

python实现的生成word文档功能示例

python实现的生成word文档功能示例

本文实例讲述了python实现的生成word文档功能。分享给大家供大家参考,具体如下: 每月1次的测试费用报销,需要做一个文档。干脆花点时间写个程序吧。 # -*- coding:...

对于Python的Django框架部署的一些建议

“Django应用、配置文件以及其他各种相关目录的最佳布局是什么样的?” 总是有朋友问我们这个问题,因此我想花一点时间,写一下我们究竟是如何看待这个问题的,这样我们就可以很容易让其他人参...

浅谈Python生成器generator之next和send的运行流程(详解)

对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数。 然后第二个next调用,进入生成...