yaml 入门教程

文章目录

https://www.ruanyifeng.com/blog/2016/07/yaml.html

python 读yaml文件

先安装 pip install pyyaml

读取

python 复制代码
import yaml

with open("config.yaml", "r", encoding="utf-8") as f:
    data = yaml.safe_load(f)

print(data)          # 读出来是 dict / list 组合

对象

看到 : → 这是"字典"的一项

数组

看到 - → 这是"列表"的一个元素

复合结构

python 复制代码
{'languages': ['Ruby', 'Perl', 'Python'], 'websites': {'Perl': 'use.perl.org', 'Python': 'python.org', 'Ruby': 'ruby-lang.org', 'YAML': 'yaml.org'}}

纯量

python 复制代码
{'isSet': True, 'number': 12.3, 'parent': None}


字符串

单引号,双引号

单引号 '...':基本"原样",不解析 \n、\t 这些转义序列(它们就当普通字符)。

例:'内容\n字符串' 里面的 \n 就是两个字符:反斜杠和 n。

双引号 "...":会解析转义序列。特殊字符会输出为其本身想表达的含义

例:"内容\n字符串" 里的 \n 会变成真正的换行

python 复制代码
{'s1': '内容\\n字符串', 's2': '内容\n字符串'}
python 复制代码
{'str': "labor's day", 'str1': "labor''s"}
python 复制代码
{'this': 'Foo\nBar\n', 'that': 'Foo Bar'}
Foo
Bar

Foo Bar
yaml 复制代码
str: 这是一段
  多行
  字符串

this: |
  Foo
  Bar
that: >
  Foo
  Bar

s1: |
  Foo

s2: |+
  Foo


s3: |-
  Foo


s4: |-
  Foo
{'s1': 'Foo\n', 's2': 'Foo\n\n\n', 's3': 'Foo', 's4': 'Foo', 'str': '这是一段 多行 字符串', 'that': 'Foo Bar\n', 'this': 'Foo\nBar\n'}
相关推荐
前端玖耀里16 小时前
如何使用python的boto库和SES发送电子邮件?
python
serve the people16 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
小天源16 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
喵手17 小时前
Python爬虫实战:HTTP缓存系统深度实战 — ETag、Last-Modified与requests-cache完全指南(附SQLite持久化存储)!
爬虫·python·爬虫实战·http缓存·etag·零基础python爬虫教学·requests-cache
喵手17 小时前
Python爬虫实战:容器化与定时调度实战 - Docker + Cron + 日志轮转 + 失败重试完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·容器化·零基础python爬虫教学·csv导出·定时调度
2601_9491465317 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
寻梦csdn17 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
Java面试题总结18 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
不懒不懒18 小时前
【决策树算法实战指南:从原理到Python实现】
python·决策树·id3·c4.5·catr
马猴烧酒.18 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股