【发布时间】:2019-04-08 14:19:57
【问题描述】:
我正在处理一个对象,首先 python 读取 YAML,进行一些更改,然后将它们写回文件。加载和更新值部分工作正常,但是当我去编写文件时,它会生成列表而不是单独的文档。
testing.yaml
apiVersion: v1
data:
databag1: try this
databag2: then try this
kind: ConfigMap
metadata:
name: data bag info
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: data-bag-service
name: data-bag-tagging
代码块
import yaml
with open("./testing.yaml", "r") as stream:
deployment_dict= list(yaml.safe_load_all(stream))
print(deployment_dict)
with open("./testing.yaml", "w") as service_config:
yaml.dump(
deployment_dict,
service_config,
default_flow_style=False
)
我得到的转变: testing.yaml
- apiVersion: v1
data:
databag1: try this
databag2: then try this
kind: ConfigMap
metadata:
name: data bag info
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: data-bag-service
name: data-bag-tagging
如何使用--- 指令结束指示符达到原始状态?
【问题讨论】:
-
---分隔符位于顶层,可以替代带有破折号的数组块。导出更喜欢数组块形式。 -
@KlausD。
---是指令结束指示符,即使没有指令也可以使用。我不确定您使用数组块指的是什么,但如果那是序列,但是一些关于为什么这个指标可能是替代品的参考(URL)会很有用。
标签: python python-3.x yaml pyyaml