• Python--配置文件优化


    前言

    之前了解过了配置文件的简单使用,本章主要讲一些封装之类的操作。

    简单封装

    封装麻,可以提高代码复用性,也可以提高代码的可阅读性,更可以体现出写代码人的代码编写能力。当然也可以写一些迷惑性的封装整蛊后续接手项目的人(不建议!)。先扯到这,一起看看简单的封装!


    「YAML配置文件」

    """yaml"""
    import yaml

    def SQL():
        with open("config.yaml",encoding='utf8'as r:
            data = yaml.load(r,Loader=yaml.FullLoader)
            return data
    • 1

    「INI配置文件」

    import configparser

    def INIREAD():
        conf = configparser.ConfigParser()
        conf.read('config.ini',encoding='utf-8')
        case_value = conf.get('SQL','host')
        return case_value
    • 1

    「TOML配置文件」

    def TOML():
        to = toml.load('config,toml')
        return to
    • 1


    暂时举例上面三个,看过前面文章的,学会举一反三。

    优化封装

    「如何优化封装?」看上述,都有一个固定的东西需要填写,那就是路径。所以我们可以将路径写成「参数」的形式的,进行参数化

    「TOML配置文件优化」

    import toml

    def TOML(PATH: str):
        return toml.load(PATH)

    to = TOML('config,toml')
    print(to)
    • 1

    「再看ini配置文件,有路径,有参数,那么如何才能做到灵活呢,例如:我想传入一个参数提取配置文件对应的内容。也是参数化」

    def INIREAD(PATH: str, Key: str, value: str):
        conf = configparser.ConfigParser()
        conf.read(PATH, encoding='utf-8')
        case_value = conf.get(Key, value)
        return case_value

    INI = INIREAD('config.ini','SQL','host')
    print(INI)
    • 1

    其实ini配置文件这样编写个人感觉也没有太多的可便捷性,因为本身需要传入的参数较多。


    「再看看Yaml配置文件。跟toml配置文件并无太多的差异」

    import yaml

    def SQL(Path:str):
        with open(Path,encoding='utf8'as r:
            data = yaml.load(r,Loader=yaml.FullLoader)
            return data

    s = SQL('config.yaml')
    print(s)
    • 1

    小结



    这样写完你认为可以了吗?



    「还可以写一些异常情况捕捉,例如:路径写错了导致文件不存在的报错,如何更友好的告诉自己或者他人,这个文件不存在呢?」

    「此外就是空数据以及一些数据格式的问题处理了。对于此类问题,可以看看后续的内容,都会提及。」

  • 相关阅读:
    动态规划进阶——LeetCode53. 最大子数组的和
    项目打包上线流程
    java计算机毕业设计基于安卓Android/微信小程序的汽车租赁小程序-app
    《认知驱动》读后感:从输入到输出
    爱上开源之golang入门至实战-第二章语言基础
    bochs 对 Linux0.11 进行调试 (TODO: 后面可以考虑集成 vscode+gdb+qemu)
    使用ollama分别在我的window、mac、小米手机上部署体验llama3-8b
    音视频从入门到精通——FFmpeg之av_seek_frame函数分析
    子域名收集&Google搜索引擎语法
    Maven经常使用的三种作用
  • 原文地址:https://blog.csdn.net/weixin_52040868/article/details/127741484