测试水货python—读取yaml文件

场景:想要设置一个配置文件存放一些适合放到配置里的东西,比如数据库的用户名密码
1.方法一:写成这种格式,读取后读出来是字典格式,很好用

(tips:冒号后要有一个空格)

mysql:
  name: xxxx
  user: xxxx
  password: xxxx
  host: xxxx
  dbname: xxxx

引入yaml模块,使用 yaml.load加载一下

DB_config = open("config.yaml", mode="r", encoding="utf-8")
config = yaml.load(DB_config)
print(config)
print(type(config))
输出为:
{'mysql': {'name': 'XXXX', 'user': 'XXXX', 'password': 'XXXX', 'host': 'XXXX', 'dbname': 'XXXX'}}

配合jsonpath食用,一下读出来这5个要的字段,拼接成数据库链接,很实用!
(tips:"$.mysql.*"为jsonpath语法,用切片也是一样的,不过比切片要灵活,该句的意思是读取mysql节点,子节点下的所有key对应的value)

jsonpath.jsonpath(yaml.load(config,Loader=yaml.FullLoader), "$.mysql.*")
2.方法二:也可以写成这种格式,不过不太易读,可能会忘掉啥配的是啥
mysql:
  - xxxx
  - xxxx
  - xxxx

使用同样的方法读一下,读出来是一个字典挂一个列表的格式

输出为:
{'mysql1': ['mysql+pymysql', 'root', 'Autumn2020']}

3.方法三

(没有方法三,经验告诉我,不要试图一下学太多,有能用的就先用,不好使了再学新的)

到此结束!(⑉・̆-・̆⑉)

你可能感兴趣的:(测试水货python—读取yaml文件)