美文网首页
python读取ini文件模块-ConfigParser

python读取ini文件模块-ConfigParser

作者: 金苹果415 | 来源:发表于2018-07-06 17:24 被阅读0次

    一、模块介绍

    1.支持文件:该模块支持读取类似如上格式的配置文件,如 windows 下的 .conf 及 .ini 文件等。创建文件保存后缀名为ini或者conf文件

    [db]

    db_port = 3306

    db_user = root

    db_host = 127.0.0.1

    db_pass = xgmtest

    [concurrent]

    processor = 20

    thread = 10

    2.必须实例化

    ConfigParser.ConfigParser()进行实例化 例如cf = ConfigParser.ConfigParser()

    3.基本方法:

    基础读取配置文件

    -read(filename)               直接读取文件内容

    -sections()    得到所有的section,并以列表的形式返回

    -options(section) 得到该section的所有option

    -items(section)  得到该section的所有键值对

    -get(section,option) 得到section中option的值,返回为string类型

    -getint(section,option)得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

    基础写入配置文件

    -write(fp)                                                           将config对象写入至某个 .init 格式的文件  Write an .ini-format representation of the configuration state.

    -add_section(section)                                    添加一个新的section

    -set( section, option, value对section中的option进行设置,需要调用write将内容写入配置文件

    -remove_section(section)                             删除某个 section

    -remove_option(section, option)                 删除某个 section 下的 option

    4.注意

    实例化后写文件(write前面的cf是实例化赋值的变量。即cf= ConfigParser.ConfigParser()。as后面应该write括号里的保持一致)

    with open("test2.ini","w+") as f:

      cf.write(f)

    前 如果没有read原文件cf.read("test2.ini") 就会覆盖原来的文件内容。只有read原文件才会在之前的内容上追加。

    5.路径问题

    read 和write 如果只写文件名例如 cf.read("test2.ini")   没有加路径 cf.read("E:\senseyun\scripts\config.ini")。默认是在本目录下找文件。

    二、示例

    # -*- coding:utf-8 -*-

    import ConfigParser

    cf= ConfigParser.ConfigParser()

    cf.read("E:\senseyun\scripts\config.ini")

    print (cf.sections())

    print (cf.items(cf.sections()[0]))

    print (cf.options((cf.sections()[0])))

    print (cf.get("db1","db_port"))

    print (cf.getint("db1","db_port"))

    cf.add_section("cf")

    cf.set("cf","1","01")

    with open("t2.conf","w+") as f:

        cf.write(f)

    三、演示代码

    # -*- coding:utf-8 -*-

    import os

    from ConfigParserimport SafeConfigParser

    import ConfigParser

    cf = ConfigParser.ConfigParser()

    #修改配置文件

    cf.read("t2.conf")

    cf.add_section("cf")

    cf.set("cf","1","01")

    with open("t2.conf","w+")as f:

    cf.write(f)

    #读取配置文件

    cf.read("t2.conf")

    print (cf.sections())

    print (cf.items(cf.sections()[0]))

    print (cf.options((cf.sections()[0])))

    print (cf.get("db","db_port"))

    print (cf.getint("db","db_port"))

    cf.remove_option("cf","1")

    with open("t2.conf","w+")as f:

    cf.write(f)

    cf.read("t2.conf")

    print (cf.items(cf.sections()[2]))#sections 函数没有参数

    cf.remove_section("cf")

    with open("t2.conf","w+")as f:

    cf.write(f)

    print (cf.sections())

    相关文章

      网友评论

          本文标题:python读取ini文件模块-ConfigParser

          本文链接:https://www.haomeiwen.com/subject/jkqbuftx.html