python存取yaml文件

简介: python存取yaml文件

基本语法

大小写敏感

使用缩进表示层级关系

缩进不允许使用tab,只允许空格

缩进的空格数不重要,只要相同层级的元素左对齐即可

'#'表示注释

数据类型

YAML 支持以下几种数据类型:

1.对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

2.数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

3.纯量(scalars):单个的、不可再分的值

YAML 对象

1.对象键值对使用冒号结构表示 key: value,冒号后面要加一个空格。

2.也可以使用 key:{key1: value1, key2: value2, ...}。

还可以使用缩进表示层级关系;

key:

   child-key: value

   child-key2: value2


YAML 数组

以 - 开头的行表示构成一个数组:

- A

- B

- C

YAML 支持多维数组,可以使用行内表示:

key: [value1, value2, ...]

纯量

纯量是最基本的,不可再分的值,包括:

字符串

布尔值

整数

浮点数

Null

时间

日期

python解析yaml文件需要安装PyYAML库

dbconfig.yaml文件

dbname:

 host: localhost

 name: mydatabase

 password: mypassword

 user: myuser

 username:

 - myuser1

 - myuser2

pip install PyYAML

# 导入yaml库

import yaml
 
# 打开 YAML 文件并加载内容到变量 d 中
with open('dbconfig.yaml', 'r', encoding='utf-8') as f:
    d = yaml.load(f, Loader=yaml.FullLoader)
    print(d)
 
# 更新数据库主机信息
d['dbname']['host'] = 'localhost'
 
# 将更新后的内容写回 YAML 文件中
with open('dbconfig.yaml', 'w', encoding='utf-8') as f:
    # 使用 yaml.dump() 方法将字典 d 转换为 YAML 格式,并将其写入文件中
    f.write(yaml.dump(d))
 
    # 与上面一行代码功能相同
    # yaml.dump(d, f)
 
print(d)

相关文章
|
7天前
|
Python
python生成excel文件的三种方式
python生成excel文件的三种方式
16 1
python生成excel文件的三种方式
|
4天前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
8 1
使用Python+openpyxl实现导出自定义样式的Excel文件
|
6天前
|
Python
Python——批量将PDF文件转为图片
Python——批量将PDF文件转为图片
16 2
|
6天前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
22 1
|
4天前
|
Dart iOS开发 C++
Dart ffi 使用问题之在pubspec.yaml文件中,对plugin_ffi_sample插件的依赖如何配置
Dart ffi 使用问题之在pubspec.yaml文件中,对plugin_ffi_sample插件的依赖如何配置
|
6天前
|
XML 监控 数据格式
ROS 2 - Python、XML 和 YAML 编写 Launch 文件
ROS 2 - Python、XML 和 YAML 编写 Launch 文件
11 0
|
6天前
|
存储 开发者 Python
六种方法实现Python文件之间的互动
六种方法实现Python文件之间的互动
7 0
|
3月前
|
机器学习/深度学习 数据可视化 计算机视觉
YOLOv5改进 | 2023Neck篇 | 轻量级跨尺度特征融合模块CCFM(附yaml文件+添加教程)
YOLOv5改进 | 2023Neck篇 | 轻量级跨尺度特征融合模块CCFM(附yaml文件+添加教程)
545 1
|
2月前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。