ConfigParser模块学习: 用python解析配置文件

本文介绍如何在Python中使用内置的ConfigParser库解析配置文件,包括读取、解析和修改INI格式的配置文件。

在程序中使用配置文件来灵活的配置一些参数是一件很常 见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做 一些介绍。
    ConfigParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项, 比如:

 

[db]
db_host=127.0.0.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=10
processor=20
 

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

 

  1. #-*- encoding: gb2312 -*-  
  2. import ConfigParser  
  3. import string, os, sys  
  4.  
  5. cf = ConfigParser.ConfigParser()  
  6. cf.read("test.conf")  
  7. # 返回所有的section  
  8. s = cf.sections()  
  9. print 'section:', s  
  10.  
  11. o = cf.options("db")  
  12. print 'options:', o  
  13.  
  14. v = cf.items("db")  
  15. print 'db:', v  
  16.  
  17. print '-'*60 
  18. #可以按照类型读取出来  
  19. db_host = cf.get("db""db_host")  
  20. db_port = cf.getint("db""db_port")  
  21. db_user = cf.get("db""db_user")  
  22. db_pass = cf.get("db""db_pass")  
  23.  
  24. # 返回的是整型的  
  25. threads = cf.getint("concurrent""thread")  
  26. processors = cf.getint("concurrent""processor")  
  27.  
  28. print "db_host:", db_host  
  29. print "db_port:", db_port  
  30. print "db_user:", db_user  
  31. print "db_pass:", db_pass  
  32.  
  33. print "thread:", threads  
  34. print "processor:", processors  
  35. #修改一个值,再写回去  
  36. cf.set("db""db_pass""zhaowei")  
  37. cf.write(open("test.conf""w")) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值