zoukankan      html  css  js  c++  java
  • Python 模块之 ConfigParser: 用 Python 解析配置文件

    在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在 Python 里更是如此,在官方发布的库中就包含有做这件事情的库,那就是 ConfigParser,这里简单的做一些介绍。
        ConfigParser 解析的配置文件的格式比较象 ini 的配置文件格式,就是文件中由多个 section 构成,每个 section 下又有多个配置项,比如:
     

    C代码  收藏代码
    1. [db]  
    2. db_host=127.0.0.1  
    3. db_port=3306  
    4. db_user=root  
    5. db_pass=password  
    6. [concurrent]  
    7. thread=10  
    8. processor=20  

     
        假设上面的配置文件的名字为 test.conf。里面包含两个 section, 一个是 db, 另一个是 concurrent, db 里面还包含有 4 项,concurrent 里面有两项。这里来做做解析:

    #-*- encoding: gb2312 -*-
    import ConfigParser
    import string, os, sys

    cf = ConfigParser.ConfigParser()
    cf.read("test.conf")
    # 返回所有的section
    s = cf.sections()
    print 'section:', s

    o = cf.options("db")
    print 'options:', o

    v = cf.items("db")
    print 'db:', v

    print '-'*60
    #可以按照类型读取出来
    db_host = cf.get("db""db_host")
    db_port = cf.getint("db""db_port")
    db_user = cf.get("db""db_user")
    db_pass = cf.get("db""db_pass")

    # 返回的是整型的
    threads = cf.getint("concurrent""thread")
    processors = cf.getint("concurrent""processor")

    print "db_host:", db_host
    print "db_port:", db_port
    print "db_user:", db_user
    print "db_pass:", db_pass

    print "thread:", threads
    print "processor:", processors
    #修改一个值,再写回去
    cf.set("db""db_pass""zhaowei")
    cf.write(open("test.conf""w"))
  • 相关阅读:
    Mac下安装svn服务器
    php 当前日期加一天和指定日期加一天
    MariaDB与MySQL
    JS中判断null、undefined与NaN的方法
    PHP保留两位小数的几种方法
    jquery的cookie插件
    mysql(5.7以上)查询报错:ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
    MySQL数据的导出和导入
    qrCode二维码字符串长度太多压缩的问题
    解决 img 标签上下出现的间隙
  • 原文地址:https://www.cnblogs.com/pigerhan/p/3437511.html
Copyright © 2011-2022 走看看