YAML(YAML Ain’t Markup Language)是一种用于数据序列化的简洁人类可读格式,常用于配置文件和数据交换。它的语法比JSON更简洁,同时支持更复杂的数据结构。
下面是一个基本的YAML文件示例,展示了如何定义简单的配置数据:
# 这是一个注释
application:
name: MyApp
version: 1.0.0
environment: production
database:
type: mysql
host: localhost
port: 3306
credentials:
user: admin
password: secret
logging:
level: info
file: /var/log/myapp.log
maxSize: 100MB
yaml文件的语法要点
- 缩进:YAML 使用缩进来表示层级关系,通常使用两个空格进行缩进(但可以使用其他空格数,只要一致)。
- 键值对:键和值之间用冒号(
:
)分隔,值后面可以有一个可选的空格。 - 列表:列表使用短横线(
-
)表示,如下所示: - 字典:字典的键值对通过冒号分隔,且可以嵌套。
- 注释:使用井号(
#
)来添加注释。fruits: - apple - banana - cherry
yaml文件的创建方法
文本编辑器
普通的记事本就行,保存方式改为所有文件,并将文件的后缀改为.yanl就行
命令行
在linux或者mac系统中打开终端输入例如以下的命令
echo "name: John Doe\nage: 30\nis_student: false\ncourses:\n - Python\n - Data Science\naddress:\n street: 123 Main St\n city: Anytown\n zip_code: 12345" > config.yaml
然后可以用cat打开config.yaml文件来检查其中的内容。
使用python脚本
首先确保有pyyaml第三方库。
import yaml
data = {
'name': 'John Doe',
'age': 30,
'is_student': False,
'courses': ['Python', 'Data Science'],
'address': {
'street': '123 Main St',
'city': 'Anytown',
'zip_code': '12345'
}
}
with open('config.yaml', 'w') as file:
yaml.dump(data, file, default_flow_style=False)
然后在运行脚本就行