手把手教你用Python编写配置脚本引擎(福利篇)

版权声明:原创不易,本文禁止抄袭、转载需附上链接,侵权必究!

一、配置信息写入

配置信息初始化
定义配置引擎类和初始化方法,其中有两个属性,配置实例对象及配置文件路径:

import configparser

class ConfigEngine(object):

    def __init__(self, config_path):
        self.cf = configparser.ConfigParser()
        self.config_path = config_path

将配置信息写入到配置文件中,该方法有三个形参,category(配置信息类别),name(配置字段名称),value(配置字段值):

def write_to_config(self, category, name, value):
    self.cf.add_section(category)
    self.cf.set(category, name, value)
    self.cf.write(open(self.config_path, "w+"))

比如现在我们要将邮箱的配置信息写入到配置文件config.ini中,以阿里邮箱为例,可以这样调用:

if __name__ == '__main__':
  config_path = 'config.ini'
  config_engine = ConfigEngine(config_path)
  config_engine.write_to_config('EMAIL', 'host', 'smtp.qiye.aliyun.com')
  config_engine.write_to_config('EMAIL', 'port ', '25')
  ………………

查看配置文件信息:
在这里插入图片描述

二、读取配置信息

读取配置文件config.ini中的配置信息,该方法有两个参数,category(配置信息类别),name(配置字段名称):

def get_value(self, category, name):
    try:
        self.cf.read(self.config_path, encoding='gbk')
        return self.cf.get(category, name)
    except KeyError:
        print('读取失败!')
        return 'error'

调用方式和上面是相似的,传入对应参数就行

三、修改配置信息

修改配置文件config.ini中的配置信息,该方法的参数和配置信息写入方法的参数是相同的,没有add_section()方法,增加了一个read()方法:

def modify_config(self, category, name, value):
    self.cf.read(self.config_path)
    self.cf.set(category, name, value)
    self.cf.write(open(self.config_path, "w+"))

调用方式和上面是一样的,传入对应参数就行

四、配置引擎总结

本篇文章讲述了如何使用库configparser编写配置脚本引擎,可以将比较重要的配置数据分离,提高编程效率和减小后期维护

当配置信息改变时,比如某个客户的邮箱信息改变了,配置数据比较少时,我们完全可以手动打开配置文件更改,但是当数据量非常大时,我们可能需要调用脚本去更改配置信息

其实这个配置脚本引擎就是做了一层封装,我们只需要编写最少的代码,导入这个配置引擎包,调用相应方法,传入参数即可实现需求的功能,简单且方便,可以当成依赖包使用,与邮箱脚本引擎等配套使用

五、作者Info

Author:小鸿的摸鱼日常,Goal:让编程更有趣!

专注于算法、爬虫,网站,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!

版权说明:本文禁止抄袭、转载 ,侵权必究!

猜你喜欢

转载自blog.csdn.net/qq_44000141/article/details/130854168