Python(封装读取yaml文件)

yaml文件是我们编写代码时常见的一种配置文件格式,今天我们来看一下如何使得python我们的自动化脚本可以去获取到yaml文件中的数据;将代码和数据分离也是我们在编程中必须要注意的一点。

import os
import configparser
import yaml
#os模块为python内部库,主要用于获取文件路径
#configparser模块用于读取文件中的信息
#yaml模块需要进行安装,python并不自带


cf = configparser.ConfigParser()
#实例化configparser

#定义一个函数接受一个file即文件名为形参
def getYaml(file):
#通过os模块获取文件的绝对路径,最终拼接文件名形成文件完整路径
path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + file
#通过open打开文件
f = open(path,"rb")
#用我们实例化后的configparser读取文件
cf = f.read()
#最后将文件中的信息保存并且return出去
res = yaml.safe_load(cf)
return res

if __name__ == '__main__':
getYaml()

接下来我们二次封装用来灵活获取yaml文件中我们想要的数据

from KeJie.com.readConfig import getYaml
#引用我们上面所创建的getYaml方法,注意路径要打全咯,不然后面可能会出现一些问题

#定义方法获取我们想要的字段
def getSign(): host = getYaml(file="\conf\db.yaml") res = host['sign'] print(res) return res def getIndex(): host = getYaml(file="\conf\db.yaml") res = host['index'] print(res) return res def getDatabase(): host = getYaml(file="\conf\database.yaml") return host if __name__ == '__main__': getSign() getIndex()

↓我们的yaml文件信息

 

 

 

 

 

以上都是yaml文件,为了避免泄露机密信息,打了下马赛克,yaml文件也是有其对应的格式,一定要注意格式哦

 

posted @ 2022-04-28 10:17  天生如此  阅读(924)  评论(0)    收藏  举报