python解析模块(ConfigParser)使用方法

yipeiwu_com7年前Python基础

测试配置文件test.conf内容如下:

复制代码 代码如下:

[first]
w = 2
v: 3
c =11-3

[second]

sw=4
test: hello

测试配置文件中有两个区域,first和second,另外故意添加一些空格、换行。

下面解析:

复制代码 代码如下:

>>> import ConfigParser
>>> conf=ConfigParser.ConfigParser()
>>> conf.read('test.conf')
['test.conf']
>>> conf.sections()   #获得所有区域
['first', 'second']
>>> for sn in conf.sections():
...     print conf.options(sn)       #打印出每个区域的所有属性
...
['w', 'v', 'c']
['sw', 'test']

获得每个区域的属性值:

复制代码 代码如下:

for sn in conf.sections():
    print sn,'-->'
    for attr in conf.options(sn):
        print attr,'=',conf.get(sn,attr)

输出:

复制代码 代码如下:

first -->
w = 2
v = 3
c = 11-3
second -->
sw = 4
test = hello

好了,以上就是基本的使用过程,下面是动态的写入配置,

复制代码 代码如下:

cfd=open('test2.ini','w')
conf=ConfigParser.ConfigParser()
conf.add_section('test')         #add a section
conf.set('test','run','false')  
conf.set('test','set',1)
conf.write(cfd)
cfd.close()

上面是向test2.ini写入配置信息。

相关文章

浅谈python 线程池threadpool之实现

首先介绍一下自己使用到的名词: 工作线程(worker):创建线程池时,按照指定的线程数量,创建工作线程,等待从任务队列中get任务; 任务(requests):即工作线程处理的任务,任...

从零学python系列之浅谈pickle模块封装和拆封数据对象的方法

封装是一个将Python数据对象转化为字节流的过程,拆封是封装的逆操作,将字节文件或字节对象中的字节流转化为Python数据对象,不要从不收信任的数据源中拆封数据。可以封装和拆封几乎任何...

django 数据库连接模块解析及简单长连接改造方法

工作中纯服务端的项目用到了线程池和django的ORM部分。django 的数据库连接在每一个线程中开启一份,并在查询完毕后自动关闭连接。 线程池处理任务时,正常使用的连接中不会被关闭,...

对PyQt5基本窗口控件 QMainWindow的使用详解

对PyQt5基本窗口控件 QMainWindow的使用详解

QMainWindow基本介绍 QMainWindow主窗口为用户提供了一个应用程序框架,它有自己的布局,可以在布局中添加控件。 窗口类型介绍 PyQt5中,主要使用以下三个类来创建窗...

Python contextlib模块使用示例

看这个模块要先看with as的用法,最常用的方法就是打开一个文件: 复制代码 代码如下: with open(“filename”) as f: f.read() with可以调用一...