问题标签 [ruamel.yaml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 Python 中使用 ruamel.yaml 从 YAML 文件中获取注释?
我想从我使用加载的 YAML 文件中获取注释字符串ruamel.yaml
。项目文档缺少 API 参考,我找不到相关示例。访问评论的正确方法是什么?
python-3.x - 使用 ruamel.yaml 添加引号
在https://pypi.python.org/pypi/ruamel.yaml更改日志中有一个条目:0.11.12 (2016-07-06):
使用 ruamel 我可以转换:
至:
ruamel 中是否有一个选项可以添加而不是保留引号导致:
python - 保留引号并在 Ruamel 中添加带引号的数据
我正在使用 Ruamel 在人工编辑的 YAML 文件中保留引用样式。
我有示例输入数据:
我使用以下方法读取数据:
然后我编辑该数据:
我使用以下方法写回磁盘:
输出文件是:
有没有一种方法可以强制对字符串 'bar' 进行硬引用,而无需在文件的其余部分强制使用这种引用样式?
(另外,我可以阻止它删除三个破折号---
吗?)
ruamel.yaml - 使用 Ruamel 插入密钥
我正在使用 Ruamel Python 库以编程方式编辑人工编辑的 YAML 文件。源文件具有按字母顺序排序的键。
我不确定这是一个基本的 Python 问题,还是一个 Ruamel 问题,但是我尝试对 Ruamel 的 OrderedDict 结构进行排序的所有方法对我来说都失败了。
例如,我很困惑,为什么基于这个配方的以下代码不起作用:
但是给定这个输入文件:
生成以下输出文件:
即它把我的文件变成了一个 YAML 有序映射。
是否有捷径可寻?另外,我可以以某种方式简单地插入数据结构吗?
python - 如何使用显式引用转储 YAML?
递归引用在ruamel.yaml
or中效果很好pyyaml
:
但是它(显然)不适用于普通参考:
我想明确地创建一个参考:
这对于生成具有大量公共键的大型数据结构的 YAML 输出非常有用
输出上没有有争议的 re.replace 怎么可能?
实际上的结果ruamel.yaml.dump(data)
是
所以我需要替换'<<'
为<<
,也许替换id001
为foo
.
python - 如何配置 ruamel.yaml.dump 输出?
使用此数据结构:
我想得到这个 YAML:
不幸的是,我得到了这种格式:
即使使用 . 我也无法配置我想要的输出safe_dump
。如果不对输出进行手动正则表达式工作,我该如何做到这一点?
我发现的唯一丑陋的解决方案是:
python-2.7 - Suppress !!python/unicode in YAML output
When dumping (ruamel.yaml, PyYAML) the dict data = {'abc': 'def'}
as YAML (with default_flow_style=False
) in Python 2.7 you will get:
which is fine. However if you make all strings unicode (by u
prefixing or by using from __future__ import unicode_literals
) this gets dumped as:
How can I dump all strings (unicode prefixed or not) without tag, without reverting to using safe_dump()
? Adding allow_unicode=True
doesn't do the trick.
Complete example that generates the unwanted tags:
ruamel.yaml - 在 Ruamel.yaml 中的键之前插入注释
我正在使用 Ruamel Python 库以编程方式编辑人工编辑的 YAML 文件。
我很难理解如何将评论插入结构化数据。
我有一些数据:
我想添加评论和新密钥:
是否可以使用 来做到这一点ruamel.yaml
,如果可以,怎么做?
python - ruamel.yaml 相当于 sort_keys?
我正在尝试将 Python dict 转储到使用ruamel.yaml
. 我熟悉json
模块的界面,漂亮地打印字典就像
,ruamel.yaml
我已经做到了
但它似乎不支持该sort_keys
选项。ruamel.yaml
似乎也没有任何详尽的文档,并且在 Google 中搜索“ruamel.yaml sort”或“ruamel.yaml alphabetize”并没有达到我所期望的简单程度。
是否有一个或两个行来漂亮地打印带有排序键的 YAML 文件?
(请注意,我需要在整个容器中递归地按字母顺序排列键;仅按字母顺序排列顶层是不够的。)
请注意,如果我使用round_trip_dump
,则键未排序;如果我使用safe_dump
,则输出不是“YAML 风格”(或更重要的是“Kubernetes 风格”)YAML。我不想[]
或{}
在我的输出中。
python - 跨所有文档的多文档 YAML 流中是否可以有别名?
这就是我想要做的(代码在 Python 3 中):
结果是:
当我使用非基于文档的 YAML 文件时,这可以按预期工作:
结果:
(无论如何我想完成的事情)
由于现在不可能,我正在使用以下脆弱的解决方法: