python读取yaml配置文件的方法_python的yaml库有什么读取数据的方法

{
“user”: “admin”,
“psw”: "123456,
}


在yaml文件里可以这样写:



yaml

user: admin
psw: 123456


2.字典嵌套字典



python3.6

“nb1”: {
       “user”: “admin”,
       “psw”: "123456,
       }


3.yaml文件里可以这样写:



yaml

nb1:
   user: admin
   psw: 123456


4.用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成字典,这个load跟json里面的load是相似的。



coding:utf-8

import yaml
import os

作者:上海-悠悠 交流QQ群:588402570

获取当前脚本所在文件夹路径

curPath = os.path.dirname(os.path.realpath(file))

获取yaml文件路径

yamlPath = os.path.join(curPath, “cfgyaml.yaml”)

open方法打开直接读出来

f = open(yamlPath, ‘r’, encoding=‘utf-8’)
cfg = f.read()
print(type(cfg))  # 读出来是字符串
print(cfg)

d = yaml.load(cfg)  # 用load方法转字典
print(d)
print(type(d))


运行结果如下


![](https://img-blog.csdn.net/20180420214228538?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podXNvbmd6aXll/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


## 序列(list)


1.yaml里面写一个数组,前面加一个‘-’符号,如下



  • admin1: 123456
  • admin2: 111111
  • admin3: 222222

对应python里面的list



[{‘admin1’: 123456},
{‘admin2’: 111111},
{‘admin3’: 222222}]


注意:数字读出来的是int或float类型


## 纯量(str)


1.int和float类型的数字



n1: 12.30


对应python



{‘n1’: 12.3}


2.布尔值用true和false表示



n2: true
n3: false


对应python



{‘n2’: True, ‘n3’: True}


3.None用~表示



n4: ~


对应python



{‘n4’: None}


4.时间采用 ISO8601 格式。



time1: 2001-12-14t21:59:43.10-05:00


对应python



{‘time1’: datetime.datetime(2001, 12, 15, 2, 59, 43, 100000)}


5.日期采用复合 iso8601 格式的年、月、日表示。



date1: 2017-07-31


对应python



{‘date1’: datetime.date(2017, 7, 31)}


6.使用两个感叹号,强制转换数据类型。



int转str

n6: !!str 123


对应python



{‘n6’: ‘123’}



bool值转str

n7: !!str true


对应python



{‘n7’: ‘true’}




现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。



分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

![](https://img-blog.csdnimg.cn/img_convert/21b2604bd33c4b6713f686ddd3fe5aff.png)



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值