• Python读写配置文件模块--Configobj


    一、介绍

    我们在项目的开发过程中应该会遇到这样的问题:我们的项目读取某个配置文件,然后才能按照配置的信息正常运行服务,当我们需要对修改服务的某些信息时,可以直接修改这个配置文件,重启服务即可,不用再去打开项目代码进行修改,这样方便了我们后期运维人员的工作。

    读取配置文件信息,修改配置文件,我们可以使用Configobj和ConfigParser模块,个人推荐使用Configobj模块,因为Configobj相比于ConfigParser,优势在于Configobj模块的使用更加清晰简单(其实是我看到ConfigParser模块好像复杂一点,自己选了个简单点的模块而已,哈哈哈哈哈)。

    pip install configobj

    configobj的简单之处就在于,它是以字典的形式来读取/修改配置文件,就跟操作字典一样,很简单,下面看看例子就知道了。

    二、configobj的使用

    1、test.cfg配置文件

    配置文件内容如下

    [server]
    name = zbj
    port = 9000
     
    [home]
    # 注释
    area = huizhou

    2、读取配置文件信息

    from configobj import ConfigObj
    
    
    # 实例化一个Configobj对象,给ConfigObj一个配置文件的路径,然后通过字典来访问成员,子段也是一个字典
    cfg_path = "./test.cfg"
    config = ConfigObj(cfg_path, encoding='UTF-8')
    
    # 读配置文件
    print(config['server'])  # {'name': 'zbj', 'port': '9000'}
    print(config['server']['name'])  # zbj

    3、修改配置文件

    from configobj import ConfigObj
    
    
    cfg_path = "./test.cfg"
    config = ConfigObj(cfg_path, encoding='UTF-8')
    config['server']['name'] = "clj"
    # 修改完记得write写入配置文件
    config.write()

    4、给配置文件添加新项

    from configobj import ConfigObj
    
    cfg_path
    = "./test.cfg" config = ConfigObj(cfg_path, encoding='UTF-8') config['school'] = {} config['school']['class'] = "three" # 只要进行了修改(包括新增删除等)的操作,记得write修改 config.write()

    5、删除配置文件中的某个项

    from configobj import ConfigObj
    
    
    cfg_path = "./test.cfg"
    config = ConfigObj(cfg_path, encoding='UTF-8')
    del config['school']
    del config['server']['port']
    config.write()

    6、将配置文件写入到不同的文件

    from configobj import ConfigObj
    
    
    cfg_path = "./test.cfg"
    config = ConfigObj(cfg_path, encoding='UTF-8')
    config.filename = "./test.ini"
    config.write()
    # 此时会新建一个test.ini文件,然后会将test.cfg的内容写入到test.ini文件

    7、创建新的配置文件

    from configobj import ConfigObj
    
    
    # 实例化一个ConfigObj对象
    config = ConfigObj()
    # filename指定新创建的文件路径和名称
    config.filename = './my_cfg.ini'
    
    # 写入配置信息
    config['people'] = {}
    config['people']['name'] = 'zzbj'
    config['people']['age'] = '18'
    config.write()

  • 相关阅读:
    <转>MSDN上关于XPath的语法文章
    <转>正则表达式语法
    <转>反射技术的简单介绍
    <转>css中用expression实现js的onmouseover/onmouseout事件
    <转>在xslt中实现split方法对查询字符串进行分隔
    <转>SQL Server中的XML数据进行insert、update、delete
    <转>VS2010项目转换到VS2008下方法
    <转>在xslt 1.0 中取得当前时间
    C# 发送邮件的Helper类
    DataTable 类的学习笔记
  • 原文地址:https://www.cnblogs.com/Zzbj/p/12300897.html
Copyright © 2020-2023  润新知