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

yipeiwu_com6年前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 文件管理实例详解

本文实例讲述了Python 文件管理的方法。分享给大家供大家参考,具体如下: 一、Python中的文件管理 文件管理是很多应用程序的基本功能和重要组成部分。Python可以使文件管理极其...

Pytorch evaluation每次运行结果不同的解决

这两天跑测试图时,发现用同样的model,同样的测试图,每次运行结果不同; 经过漫长的debug发现,在net architure中有dropout,如下(4): (conv_blo...

Python利用ansible分发处理任务

其实对python熟悉的人都可以自己用paramiko来写任务的分发系统,再结合gevent的协程就能实现异步的处理。 如果只想用工具的朋友可以使用一些工具,类似{puppet,salt...

python实现跨excel的工作表sheet之间的复制方法

python,将test1的Sheet1通过“跨文件”复制到test2的Sheet2里面。 包括谷歌没有能搜出这种问题答案。 我们贴出代码。 我们加载openpyxl这个包来解决:...

python中正则表达式的使用方法

本文主要关于python的正则表达式的符号与方法。 findall: 找寻所有匹配,返回所有组合的列表 search: 找寻第一个匹配并返回 sub: 替换符合规律的内容,并返回替换后的...