为了账号安全,请及时绑定邮箱和手机立即绑定

Python ConfigParser模块常用方法示例

标签:
Python

 

 在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。  

  

Python ConfigParser模块解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:  

  

[db]    

db_host=192.168.1.1   

db_port=3306   

db_user=root   

db_pass=password   

[concurrent]    

thread=200   

processor=400   

假设上面的配置文件的名字为test.conf。里面包含两个section,一个是db, 另一个是concurrent, db里面还包含有4项,concurrent里面有两项。这里来做做解析:  

  

#-*- encoding: gb2312 -*-    

import ConfigParser,string,os,sys    

cf = ConfigParser.ConfigParser()    

cf.read("test.conf")   

  

# 返回所有的section    

s = cf.sections()    

print 'section:', s    

o = cf.options("db")    

print 'options:', o    

v = cf.items("db")    

print 'db:', v    

print '-'*60    

  

#可以按照类型读取出来  

db_host = cf.get("db", "db_host")    

db_port = cf.getint("db", "db_port")    

db_user = cf.get("db", "db_user")    

db_pass = cf.get("db", "db_pass")   

  

# 返回的是整型的    

threads = cf.getint("concurrent", "thread")    

processors = cf.getint("concurrent", "processor")    

print "db_host:", db_host    

print "db_port:", db_port    

print "db_user:", db_user    

print "db_pass:", db_pass    

print "thread:", threads    

print "processor:", processors   

  

#修改一个值,再写回去    

cf.set("db", "db_pass", "zhaowei")    

cf.write(open("test.conf", "w"))   

  

#添加一个section。(同样要写回)  

cf.add_section('liuqing')  

cf.set('liuqing', 'int', '15')  

cf.set('liuqing', 'bool', 'true')  

cf.set('liuqing', 'float', '3.1415')  

cf.set('liuqing', 'baz', 'fun')  

cf.set('liuqing', 'bar', 'Python')  

cf.set('liuqing', 'foo', '%(bar)s is %(baz)s!')  

cf.write(open("test.conf", "w"))  

  

#移除section 或者option 。(只要进行了修改就要写回的哦)  

cf.remove_option('liuqing','int')  

cf.remove_section('liuqing')  

cf.write(open("test.conf", "w"))  

  

以上就是对Python ConfigParser模块的相关应用方法的介绍,当然,这个模块还有许多其他的用法,有兴趣的可以去官方网站看看:http://docs.python.org/2/library/configparser.html。  

©著作权归作者所有:来自51CTO博客作者AIOPS_DBA的原创作品,如需转载,请注明出处,否则将追究法律责任

示例 模块PythonPython


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消