Python模块之: ConfigParser 配置文件读取

 

ConfigParser用于读写类似INI文件的配置文件,配置文件的内容可组织为组,还支持多个选项值(option-value)类型。

ConfigParser使用用的配置文件格式由一个或多个命名的节(section)组成,每一节包含由key和value构成的选项(option)。

在一节中每行列出一个选项。行以选项名开头,选项名与值之间用一个冒号(:)或一个等号(=)分开。

1.读取配置文件

-read(filename) 直接读取ini文件内容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到该section的所有option
-items(section) 得到该section的所有键值对
-get(section,option) 得到section中option的值,返回为string类型
-getint(section,option) 得到section中option的值,返回为int类型
 
2.写入配置文件
-add_section(section) 添加一个新的section
-set( section, option, value) 对section中的option进行设置
需要调用write将内容写入配置文件。
 
示例
test.conf
[sec_a]
a_key1 = 20
a_key2 = 10
 
[sec_b]
b_key1 = 121
b_key2 = b_value2
b_key3 = $r
b_key4 = 127.0.0.1
 
getConfig.py
import ConfigParser

cf = ConfigParser.ConfigParser()

#allow_no_value=True参数可以允许配置文件的选项中只有key而没有value #read config cf.read("test.conf")

#read可以设置读取多个配置文件,使用列表形式即可 # return all section secs = cf.sections() print 'sections:', secs opts = cf.options("sec_a") print 'options:', opts kvs = cf.items("sec_a") print 'sec_a:', kvs #read by type str_val = cf.get("sec_a", "a_key1") int_val = cf.getint("sec_a", "a_key2") print "value for sec_a's a_key1:", str_val print "value for sec_a's a_key2:", int_val #write config #update value cf.set("sec_b", "b_key3", "new-$r") #set a new value cf.set("sec_b", "b_newkey", "new-value") #create a new section cf.add_section('a_new_section') cf.set('a_new_section', 'new_key', 'new_value') #write back to configure file cf.write(open("test.conf", "w"))

最新文章

  1. 解决oracle 中文入库是乱码的问题
  2. redis集群安装
  3. 名词释义(ActiveMQ 和 Webservice)
  4. jquery 常用类别选择器
  5. iOS学习之Object-C语言集合
  6. InstallShield Custom Dialog
  7. JavaScript笔记(一),
  8. 标准爬虫初探,来自Python之父的大餐!
  9. The account is locked
  10. Naive Bayes(朴素贝叶斯算法)[分类算法]
  11. SQL点滴13—收集SQLServer线程等待信息
  12. javascript语言扩展:可迭代对象(2)
  13. Coursera, Big Data 4, Machine Learning With Big Data (week 1/2)
  14. ATS 相关
  15. ListBox设置背景色无效的问题。 listview类似
  16. 南邮ctf-web的writeup
  17. ImageNet Classification with Deep Convolutional Neural Networks(译文)转载
  18. shiro 权限 URL 配置细节
  19. ATM交换机 和普通交换机区别
  20. WPF技术点

热门文章

  1. python批量修改文件名称
  2. 防域名DNS劫持 从保护帐号安全做起
  3. HDU 5925 离散化
  4. 数据链路层--PPP协议
  5. DOM初体验(绑定事件,监听事件)
  6. jsp:jstl标签forTokens
  7. Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions
  8. Python正则表达式之 - ?: / ?= / ?!
  9. 【微信小程序+ES6新特性应用】字符串模板:美元符号$+大括号{}变量的写法
  10. KVO与KVC的使用(转)