Python 操作 yaml 文件
2022/8/8 1:24:28
本文主要是介绍Python 操作 yaml 文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Python 操作 yaml 文件
yaml的意思是:Yet Another Markup Language(仍是一种标记语言)
参考文章:https://blog.csdn.net/weixin_43831559/article/details/124850190
1.yaml 文件
语法特点:
- 大小写敏感
- 使用缩进表示层级关系,缩进不允许使用
tab
键,只允许使用空格 - 缩进的空格数不重要,只要相同层级元素
左对齐
即可 #
做为注释
数据类型:
- 对象:标示符
:
,键值对集合,又称映射(mapping)哈希(hash)字典(dict) - 数组:标示符
-
,一组按照次序排列的值,又称序列 - 纯量:单个,不可再分的值
- 字符串:可以加引号,也可以不加引号。
- 布尔值:True/False
- 整数:1,2,3
- 浮点数:1.2,1.3
- null: ~
- 日期:2022-10-10 格式:yyy-MM-dd
- 时间:2022-10-01 10:10:10 格式:yyy-MM-ddTHH:mm:ss 日期与时间用T连接
1.1 对象
写法一: 对象键值对使用键:值
冒号分割键值,特别注意,冒号后面(右边值前面)要有一个空格。
key: value
写法二:流式写法
key: {K1:v1,k2:v2}
写法三:缩进标识层级
database: port: 3306 username: root
1.2 数组
以-
开头的行标识构成一个数组,-
也需要跟一个空格,不然会被识别成字符串:
version: v1 ip: # 一行代表数组的一列项值 - 127.0.0.1 - 192.168.1.1
数组中存放键值对
commpaines: - id: 1 name: aa - id: 2 name: bb
1.3 纯量
纯量即是单个值。类型如上述。
补充:锚点的使用。
&
建立锚点,<<
表示合并到当前数据,*
引用锚点。
defaults: &defaults # 建立锚点defaults port: 3306 ip: 127.0.0.1 user: root dev: port: 3307 <<: *defaults # 将上述的数据合并到当前锚点的地方
2.Python操作yaml
# 安装 pip install pyyaml
2.1 读取yaml 文件
import yaml fp = open('./config.yaml','r',encoding='utf-8') msg = yaml.load(fp,Loader=yaml.FullLoader) fp.close() print(msg)
上下文写法:
with open('./config.yaml','r',encoding='utf-8')as fp: msg = yaml.load(fp,Loader=yaml.FullLoader) print(msg)
2.2 写入yaml文件
data = { 'ip':'127.0.0.1', 'port':'27017', 'mysql':{ 'user':'mysql', 'password':'aaaa' } } with open('./config.yaml','a',encoding='utf-8')as fp: yaml.dump(data,fp,allow_unicode=True)
写入成功。但是写入的顺序是没有按照字典中的顺序写入,因为字典是无序的,虽然新版本的python进行了优化,也有可能是兼容性的问题,没有按照顺序进行写入。写入的时候是追加模式,有可能会出现重复值的情况,避免重复写入的问题。
继续努力,终成大器。
这篇关于Python 操作 yaml 文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南