python之ConfigParser模块

来源:互联网 发布:json格式的验证工具 编辑:程序博客网 时间:2024/05/19 05:33

configParser 模块用于操作配置文件

注:Parser汉译为“解析”之意。

配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。

为了更好的理解本文,我们先了解一下配置文件的组成及命名:配置文件(INI文件)由节(section)、键、值组成。

样例配置文件example.ini

    [book]      title:ConfigParser模块教程      time:2012-09-20 22:04:55      [size]      size:1024      [other]      blog:csdn.net  

上面配置文件中用的是冒号,也可以用等号。
example.py代码

# -*- coding: utf-8 -*-  import ConfigParserimport stringconfig=ConfigParser.ConfigParser()config.read(u'd:/百度网盘/android/Python/python_example/sample.ini')print string.upper(config.get("book","title")),print "by",config.get("book","author"),print "("+config.get("book","email")+")"printprint config.get("size","size")printprint config.sections()for section in config.sections():    print section    for option in config.options(section):        print " ",option,"=",config.get(section,option)

example.py执行结果

C:\Documents and Settings\Administrator>tmp.pyCONFIGPARSER模块教程 by 大头爸爸 (366500050@qq.com)1024['book', 'size', 'other']book  title = ConfigParser模块教程  author = 大头爸爸  email = 366500050@qq.com  time = 2012-09-20 22:04:55size  size = 1024other  blog = csdn.net

写配置文件实例

import sysconfig=ConfigParser.ConfigParser()config.add_section("book")config.set("book","title","这是标题")config.set("book","author","大头爸爸")config.add_section("size")config.set("size","size",1024)config.write(sys.stdout)

执行结果

    [book]      title = 这是标题      author = 大头爸爸      [size]      size = 1024  

ConfigParser方法

    1、config=ConfigParser.ConfigParser()      创建ConfigParser实例      2、config.sections()      返回配置文件中节序列      3、config.options(section)      返回某个项目中的所有键的序列      4、config.get(section,option)      返回section节中,option的键值      5、config.add_section(str)      添加一个配置文件节点(str)      6、config.set(section,option,val)      设置section节点中,键名为option的值(val)      7、config.read(filename)      读取配置文件      8、config.write(obj_file)      写入配置文件  

综合实例

    #coding=utf-8      import ConfigParser      def writeConfig(filename):          config = ConfigParser.ConfigParser()          # set db          section_name = 'db'          config.add_section( section_name )          config.set( section_name, 'dbname', 'MySQL')          config.set( section_name, 'host', '127.0.0.1')          config.set( section_name, 'port', '80')          config.set( section_name, 'password', '123456')          config.set( section_name, 'databasename', 'test')          # set app          section_name = 'app'          config.add_section( section_name )          config.set( section_name, 'loggerapp', '192.168.20.2')          config.set( section_name, 'reportapp', '192.168.20.3')          # write to file          config.write( open(filename, 'a') )      def updateConfig(filename, section, **keyv):          config = ConfigParser.ConfigParser()          config.read(filename)          print config.sections()          for section in config.sections():              print "[",section,"]"              items = config.items(section)              for item in items:                  print "\t",item[0]," = ",item[1]          print config.has_option("dbname", "MySQL")          print config.set("db", "dbname", "11")          print "..............."          for key in keyv:              print "\t",key," = ", keyv[key]          config.write( open(filename, 'r+') )      if __name__ == '__main__':          file_name = 'test.ini'          writeConfig(file_name)          updateConfig(file_name, 'app', reportapp = '192.168.100.100')          print "end__"  
原创粉丝点击