python(60):configparser 函数,配置文件

ConfigParser模块学习

介绍

ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用再程序中硬编码,可以是你的程序变得灵活起来。 
注意:在python 3 中ConfigParser模块名已更名为configparser

函数

  1. 读取配置文件

    • read(filename) 直接读取ini文件内容
    • sections() 得到所有的section,并以列表的形式返回
    • options(section) 得到该section的所有option
    • items(section) 得到该section的所有键值对
    • get(section,option) 得到section中option的值,返回为string类型
    • getint(section,option) 得到section中option的值,返回为int类型
    • getfloat(section,option)得到section中option的值,返回为float类型
    • getboolean(section, option)得到section中option的值,返回为boolean类型
  2. 写入配置文件

    • add_section(section) 添加一个新的section
    • has_section(section) 判断是否有section
    • set( section, option, value) 对section中的option进行设置
    • remove_setion(section)删除一个section
    • remove_option(section, option)删除section中的option
    • write(fileobject)将内容写入配置文件。

使用

注:传入的是字符串,不加引号;

配置文件config.ini如下:

    [user]
    username = tom
    password = ***
    email = test@host.com

    [book]
    bookname = python
    bookprice = 25

注意:也可以使用 “,”,替换 “=”

程序:

# -* - coding: UTF-8 -* -
    import ConfigParser
    import sys

    reload(sys)
    sys.setdefaultencoding("utf-8")

    #生成config对象
    conf = ConfigParser.ConfigParser()
    #用config对象读取配置文件
    conf.read("config.ini")
    #以列表形式返回所有的section
    sections = conf.sections()
    print 'sections:', sections   #sections: ['user', 'book']
    #得到指定section的所有option
    options = conf.options("user")
    print 'options:', options  #options: ['username', 'password', 'email']
    #得到指定section的所有键值对
    useritem = conf.items("user")
    print 'user:', useritem #user: [('username', 'tom'), ('password', '***'), ('email', 'test@host.com')]
    #指定section,option读取值
    str_val = conf.get("book", "bookname")
    int_val = conf.getint("book", "bookprice")

    print "value for book's bookname:", str_val   #value for book's bookname: python
    print "value for book's bookprice:", int_val   #value for book's bookprice: 25
    #写配置文件
    #更新指定section,option的值
    conf.set("book", "bookname", "python learning")
    #写入指定section增加新option和值
    conf.set("book", "bookpress", u"人民邮电出版社")
    #增加新的section
    conf.add_section('purchasecar')
    conf.set('purchasecar', 'count', '1')
    #写回配置文件
    conf.write(open("config.ini", "w"))

原文地址:https://www.cnblogs.com/lovychen/p/9431359.html