yaml虽然对格式严格要求,但支持多种写法,譬如下面数组和map 的写法。
list_by_dash:
- foo
- bar
list_by_square_bracets: [foo, bar]
map_by_indentation:
foo: bar
bar: baz
map_by_curly_braces: {foo: bar, bar: baz}
string_no_quotes: Monty Python
string_double_quotes: "Monty Python"
string_single_quotes: 'Monty Python'
通过大于号后面追加一个长字符串
disclaimer: >
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In nec urna pellentesque, imperdiet urna vitae, hendrerit
odio. Donec porta aliquet laoreet. Sed viverra tempus fringilla.
但如果你想写一个带换行的多行字符串,使用 | 。
mail_signature: |
Martin Thoma
Tel. +49 123 4567
email: &emailAddress "info@example.de"
id: *emailAddress
第一行通过& 定义变量,在第二行可以使用 *emailAddress 引用这个变量。
我们可以定义通用的类型
price: !!float 42
id: !!str 42
还可以定义特点编程语言支持的类型
tuple_example: !!python/tuple
- 1337
- 42
set_example: !!set {1337, 42}
date_example: !!timestamp 2020-12-31
定义Python的元组和set 以及 时间戳,然后我们就可以通过下面的Python代码解析这个yaml,直接转换为Python对象。
import yaml
import pprint
with open("example.yaml") as fp:
data = fp.read()
pp = pprint.PrettyPrinter(indent=4)
pased = yaml.unsafe_load(data)
pp.pprint(pased)
foo: bar
---
fizz: buzz
这个可能比较场景,我们在k8s 里面经常将deployment和sevice 放到同一个yaml文件中。
页面更新:2024-03-14
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号