博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python2.7 ConfigParser
阅读量:6765 次
发布时间:2019-06-26

本文共 3225 字,大约阅读时间需要 10 分钟。

  hot3.png

    该模块用来解析Microsoft Windows INI文件,就是我们平常所说的ini文件。INI文件是一种按照特点方式排列的文本文件。每一个INI文件结构都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。其一般形式如下:

[Section1]  KeyWord1 = Valuel KeyWord2 = Value2 [Section2]  KeyWord3 = Value3 KeyWord4 = Value4

    配置文件由section组成,每个section里面由name=value或者name:value组成,values中的空白符会被移除,在同一个section下的values可以包含该section下的其他values,以格式化字符串的形式表现,或者该values在DEFAULT section中定义过。额外的DEFAULT section可以提供values的初始化,以#开头的为注释。

该模块下有三个类:

ConfigParser.RawConfigParser([defaults[, dict_type[, allow_no_value]]])

这是基本的配置类,该类不支持魔术插入。方法如下:

RawConfigParser.defaults() 返回一个包含全部实例的字典
RawConfigParser.sections() 返回一个包含有效section的列表,DEFAULT不包含在该列表中
RawConfigParser.add_section(section) 增加一个section,如果section存在DuplicateSectionError会被触发。
RawConfigParser.has_section(section) 判断section是否在配置文件中存在
RawConfigParser.options(section) 返回section中可用的options 列表
RawConfigParser.has_option(section, option) 判断section中是否存在options
RawConfigParser.read(filenames) 读入被解析的配置文件
RawConfigParser.readfp(fp[, filename]) 读入并解析配置文件
RawConfigParser.get(section, option) 获取section中option的值
RawConfigParser.getint(section, option) 已整形返回option的值
RawConfigParser.getfloat(section, option) 同理上面,返回float
RawConfigParser.getboolean(section, option)
RawConfigParser.items(section) 以列表(name,value)的形式返回section中的每个值
RawConfigParser.set(section, option, value) 如果section存在,则设置该option和value,否则引起NoSectionError.
RawConfigParser.write(fileobject) 配置写入配置文件中
RawConfigParser.remove_option(section, option) 移除section中的option,如果section不存在,引起NoSectionError,移除后返回True,否则返回False
RawConfigParser.remove_section(section) 移除section,返回True/False
RawConfigParser.optionxform(option) 

ConfigParser.ConfigParser([defaults[, dict_type[, allow_no_value]]])

RawConfigParser的派生类。支持魔术插入,增加了get和items方法

ConfigParser.get(section, option[, raw[, vars]]) 获取section中option的值,
ConfigParser.items(section[, raw[, vars]]) 返回一个由(name,value)组成的列表对

ConfigParser.SafeConfigParser([defaults[, dict_type[, allow_no_value]]])

该类是ConfigParser的派生类,支持更多的魔术插入。

SafeConfigParser.set(section, option, value) 如果section存在,则设置option的值。value必须是string。

生成ini配置文件

#!/usr/bin/python import ConfigParserconf=ConfigParser.RawConfigParser()conf.add_section('section1')conf.add_section('section2')conf.set('section1','name1','guol')conf.set('section1','name2','alex')conf.set('section2','name3','polo')conf.set('section2','name4','mark')conffile=open('file.ini','wb')conf.write(conffile)
结果如下:

解析ini配置文件

import ConfigParserconf=ConfigParser.RawConfigParser()conf.read('file.ini')if conf.has_section('section2'):    print 'Exist section2'if conf.has_option('section2','name3'):    print 'section2 has opetion name3, is value' + ' ' +conf.get('section2','name3')
结果如下:

魔术插入

import ConfigParserconf1=ConfigParser.ConfigParser()conf1.read('file.ini')conf2=ConfigParser.RawConfigParser()conf2.read('file.ini')print 'Use ConfigParser()'print '''conf1.get('section3','name3',0)'''print conf1.get('section3','name3',0)print '''conf1.get('section3','name3',1)'''print conf1.get('section3','name3',1)print '================================'print 'Use RawConfigParser()'print '''conf2.get('section3','name3')'''print conf2.get('section3','name3')
结果如下:

转载于:https://my.oschina.net/guol/blog/131816

你可能感兴趣的文章
LAMP- CentOS 7平台三机FastCGI模型
查看>>
linux source命令及脚本的执行方式解析
查看>>
解决docker pull镜像速度慢的问题
查看>>
扒一扒JVM的垃圾回收机制,下次面试你准备好了吗
查看>>
根据flat.vmdk文件恢复磁盘(完善版)
查看>>
七周二次课(5月7日)
查看>>
我的友情链接
查看>>
企业网络中部署Cisco ACS Server
查看>>
如何使用阿里云ARMS轻松重现用户浏览器问题
查看>>
MySQL删除idb文件引发的思考
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
第一篇
查看>>
SQL Server 2012 管理新特性:AlwaysOn 可用性组
查看>>
Eclipse 快捷键大全
查看>>
OSGI Blueprint入门之七
查看>>
如何清理自由天空减肥工具产生的免疫文件夹“KEYFree2008”
查看>>
代码问题
查看>>
ROUTEROS5.2企业静态IP NAT映射
查看>>
Lucene系列:(7)搜索关键字高亮
查看>>