嵌入式 python之ConfigParser详解

原创 2013年12月02日 14:40:24
 

1.读取配置文件

-read(filename) 直接读取ini文件内容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到该section的所有option
-items(section) 得到该section的所有键值对
-get(section,option) 得到sectionoption的值,返回为string类型
-getint(section,option) 得到sectionoption的值,返回为int类型
 
2.写入配置文件
-add_section(section) 添加一个新的section
-set( section, option, value) section中的option进行设置
         需要调用write将内容写入配置文件。
 
3.例子
test.conf
[sec_a]
a_key1 = i'm value
a_key2 = 22
 
[sec_b]
b_key1 = 121
b_key2 = b_value2
b_key3 = $r
b_key4 = 127.0.0.1
   
parse_test_conf.py
import ConfigParser
 
cf = ConfigParser.ConfigParser()
 
#read config
cf.read("test.conf")
 
# 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 "valuefor sec_a's a_key1:",str_val
print "valuefor 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"))
 
print
sections: ['sec_b', 'sec_a']
options: ['a_key1', 'a_key2']
sec_a: [('a_key1', "i'm value"), ('a_key2', '22')]
value for sec_a's a_key1: i'm value
value for sec_a's a_key2: 22
 
更新后的test.conf
[sec_b]
b_newkey = new-value
b_key4 = 127.0.0.1
b_key1 = 121
b_key2 = b_value2
b_key3 = new-$r
 
[sec_a]
a_key1 = i'm value
a_key2 = 22
 
[a_new_section]
new_key = new_value
 
4.可能抛出的异常
exception NoSectionError
Exception raised when a specified section is notfound.
exception DuplicateSectionError
Exception raised if add_section() is called with the name of asection that is already present.
exception NoOptionError
Exception raised when a specified option is not found in thespecified section.
exception InterpolationError
Base class for exceptions raised when problems occur performingstring interpolation.
exception InterpolationDepthError
Exception raised when string interpolation cannot be completedbecause the number of iterations exceeds MAX_INTERPOLATION_DEPTH.Subclass of InterpolationError.
exception InterpolationMissingOptionError
Exception raised when an option referenced from a value does notexist. Subclass of InterpolationError. New in version2.3.
exception InterpolationSyntaxError
Exception raised when the source text into which substitutions aremade does not conform to the required syntax. Subclass ofInterpolationError. New in version 2.3.
exception MissingSectionHeaderError
Exception raised when attempting to parse a file which has nosection headers.
exception ParsingError
Exception raised when errors occur attempting to parse afile.
 

Python3 中 configparser 模块解析配置的用法详解

configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。...
  • shortwall
  • shortwall
  • 2017年11月23日 15:33
  • 101

Python模块:配置文件解析器configparser

http://blog.csdn.net/pipisorry/article/details/37104107python 读写配置文件ConfigParser模块是python自带的读取配置文件的模...
  • pipisorry
  • pipisorry
  • 2014年07月05日 22:30
  • 2131

Python3.6安装ConfigParse(配置解析模块)安装

本文转载至:http://www.pythontab.com/html/2014/pythonhexinbiancheng_1120/919.html 1.基本的读取配置文件 -r...
  • zhouzhiwengang
  • zhouzhiwengang
  • 2017年05月17日 11:06
  • 1619

Python的学习(三十一) ---- 使用ConfigParser模块读写ini文件

使用ConfigParser模块读写ini文件 ConfigParserPython的ConfigParser Module中定义了3个类对INI文件进行操作。分别是RawConfigParser、C...
  • linda1000
  • linda1000
  • 2013年09月16日 13:22
  • 11984

Python中利用ConfigParser操作配置文件

1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) ...
  • liuchunming033
  • liuchunming033
  • 2014年09月22日 15:58
  • 1929

python ConfigParser库使用和遇到的坑

背景:这几天想在接口测试中增加logging打印功能,在testerHome正好发现有人分享自己的接口框架,看了之后其中用到ConfigParser,然后自己写了遇到一个坑,写下来用于备注吧。 首先...
  • gogoboi_jin
  • gogoboi_jin
  • 2017年06月05日 19:31
  • 656

python的Theano库的安装

最近研究deep learning,于是装个Theano库,结果今天折腾了好半天,由于安装的python版本比较高(3.3版),网上一些简易的安装方法就不行了,折腾好久,终于发现一种比较简单的安装方法...
  • legend_of_me
  • legend_of_me
  • 2013年03月03日 16:21
  • 22600

Python读取配置文件-ConfigParser的二次封装,简单好用

直接上上代码 test.conf[database] connect = mysql sleep = no test = yesconfig.py# -*- coding:utf-8 -*- __a...
  • guoqianqian5812
  • guoqianqian5812
  • 2017年03月30日 23:22
  • 463

Python 解析配置模块之ConfigParser详解

原文地址:http://www.pythontab.com/html/2014/pythonhexinbiancheng_1120/919.html 1.基本的读取配置文件 -read...
  • star714
  • star714
  • 2017年04月24日 14:26
  • 169

ConfigParser模块 — 配置文件分析器

官方文档: https://docs.python.org/2/library/configparser.html 注意 ConfigParser 模块在Python 3中已经重命名为 configp...
  • Jerry_1126
  • Jerry_1126
  • 2015年01月25日 19:12
  • 3705
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 python之ConfigParser详解
举报原因:
原因补充:

(最多只允许输入30个字)