之前了解过了配置文件的简单使用,本章主要讲一些封装之类的操作。
封装麻,可以提高代码复用性,也可以提高代码的可阅读性,更可以体现出写代码人的代码编写能力。当然也可以写一些迷惑性的封装整蛊后续接手项目的人(不建议!)。先扯到这,一起看看简单的封装!
「YAML配置文件」
"""yaml"""
import yaml
def SQL():
with open("config.yaml",encoding='utf8') as r:
data = yaml.load(r,Loader=yaml.FullLoader)
return data
「INI配置文件」
import configparser
def INIREAD():
conf = configparser.ConfigParser()
conf.read('config.ini',encoding='utf-8')
case_value = conf.get('SQL','host')
return case_value
「TOML配置文件」
def TOML():
to = toml.load('config,toml')
return to
暂时举例上面三个,看过前面文章的,学会举一反三。
「如何优化封装?」看上述,都有一个固定的东西需要填写,那就是路径。所以我们可以将路径写成「参数」的形式的,进行参数化。
「TOML配置文件优化」
import toml
def TOML(PATH: str):
return toml.load(PATH)
to = TOML('config,toml')
print(to)
「再看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)
其实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)
这样写完你认为可以了吗?
「还可以写一些异常情况捕捉,例如:路径写错了导致文件不存在的报错,如何更友好的告诉自己或者他人,这个文件不存在呢?」
「此外就是空数据以及一些数据格式的问题处理了。对于此类问题,可以看看后续的内容,都会提及。」