【python】yaml文件的读写

冰冷的希望 2020-10-22 18:31:47 442 收藏 1
分类专栏: python 文章标签: python yaml
版权

python
专栏收录该内容
67 篇文章5 订阅
订阅专栏
我们用到更多的是json格式的读写,但是有时候需要用到yaml格式,故进行记录

1.YAML
YAML(发音/ˈjæməl/)是一个可读性高,用来表达数据序列化的格式,使用它可以简单表达列表、字典、标量等资料形式

1.1 语法规则
1)大小写敏感
2)使用缩进表示层级关系
3)缩进时不允许使用tab键,只允许使用空格
4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

1.2 支持的数据结构
1)字典: 键值对的集合
2)数组: 一组按照次序排列的值, 又称序列(sequence)、列表
3)纯量: 单个的、不可再分的值, 包括 字符串、布尔值、整数、浮点数、null、日期

2.读写操作
2.1 先安装PyYAML
pip3 install -U PyYAML
1
2.2 写(从dict转yaml)
data = {
"data1": 123,
"data2": {
"k1": "v1",
"k2": [4, 5, 6]
}
}

with open("test.yaml", "w", encoding="utf8") as f:
yaml.dump(data, f, allow_unicode=True)
1
2
3
4
5
6
7
8
9
10
test.yaml

data1: 123
data2:
k1: v1
k2:
- 4
- 5
- 6
1
2
3
4
5
6
7
2.3 读(从yaml转dict)
import yaml

with open("test.yaml", "r", encoding="utf-8") as f:
data = yaml.load(f, Loader=yaml.FullLoader)
print(data)

打印输出
{'data1': 123, 'data2': {'k1': 'v1', 'k2': [4, 5, 6]}}
1
2
3
4
5
6
7
8

最新文章

  1. python , angular js 学习记录【2】
  2. Swift开发小技巧--private访问修饰符报错的情况
  3. web form 复合控件
  4. Windows下安装Redmine
  5. 【VirtualBox】VirtualBox的桥接网络模式,为啥网络不稳定?
  6. 附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库,因为它是只读的,或者具有只读文件
  7. SQL中删除某数据库所有trigger及sp
  8. mount nfs的可选参数
  9. 整合Spring与Hibernate
  10. javascript实现验证身份证号的有效性并提示
  11. windows socket函数详解
  12. First release of mlrMBO - the toolbox for (Bayesian) Black-Box Optimization
  13. 项目实战4—haproxy 负载均衡和ACL控制
  14. 强迫症犯了,忍不住赞一下slf4j包Logger.java的优雅代码
  15. 人才需求之Java程序员与AI程序员
  16. python 基础知识 列表的 增删改查 以及迭代取值
  17. mysql varchar 转 decimal
  18. itunes Connect 未能创建 App 图标
  19. Python——hmac
  20. Redis学习第八课:Redis高级实用特性(二)

热门文章

  1. 杭电oj 素数判定
  2. holiday10
  3. 逆向学习物联网-网关ESP8266-05课程小结
  4. python3.7 sorted 自定义排序
  5. Day14-封装、继承、多态
  6. MySQL中的json函数
  7. 如何为linux kernel贡献代码
  8. Android中的特殊权限
  9. 手机 termux 开启ssh 并连接
  10. android charles 抓不到https包,翻了2天资料总算是找到答案了