问题标签 [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.

0 投票
3 回答
8812 浏览

python-3.x - 使用 ruamel.yaml 将 YAML 转储到字符串的最佳方法(不流式传输)

过去,我some_fancy_printing_loggin_func(yaml.dump(...), ...)使用 ruamel.yaml 的向后兼容部分做了类似的事情,但我想将我的代码转换为使用最新的 API,以便我可以利用一些新的格式设置。

但是,我讨厌我必须指定一个流来ruamel.yaml.YAML.dump()......我不希望它直接写入流;我只是想让它把输出返回给调用者。我错过了什么?

PS:我知道我可以做类似以下的事情,虽然我当然试图避免它。

0 投票
2 回答
469 浏览

python - 如何使用 ruamel 在 python 中将 python/unicode 标记作为 unicode 字符串加载

我通过以下方式使用ruamel:

想要的输出:

实际输出:

我知道可以与 SafeLoader 一起使用的 hack 给我这种行为:

这将返回节点的值,这就是我想要的。但是,此 hack 似乎不适用于 RoundTripLoader。

0 投票
1 回答
138 浏览

yaml - 有没有办法将 YAML 转储到与 ruamel.yaml 加载的相同版本中?

有没有一种好方法ruamel.yaml可以将 YAML 文件转储到与加载时相同的版本中?如果我%YAML 1.1在文件中有一个指令,我希望能够在 YAML 1.1 中转储文件,而无需硬编码version='1.1'.

所以给定一些数据,比如,

我想避免version='1.1'round_trip_dump(),

0 投票
2 回答
2125 浏览

python - ruamel.yaml 可以编码一个枚举吗?

以下不适用于我,使用 Python 3.4.7,ruamel.yaml 版本 0.15.35:

我得到一个完全合理的repr

.dump()加薪:

如果enum不支持,我可以做些什么来扩展enum我正在使用的类(或enum.IntEnum我创建的子类),例如 dunder 方法?

0 投票
1 回答
1496 浏览

python - 转储yaml时如何保留键值缩进

转储 yaml 时如何保留键值缩进?我正在使用 ruamel yaml

代码:

输出 :

预期输出:

0 投票
1 回答
2938 浏览

python - 使用 Python 在 YAML 中保留锚点和别名

我正在用 Python 编辑一个带有大量锚点和别名的大型 YAML 文档。我希望能够根据来自它引用的节点的数据来确定锚是如何派生的。

例如,节点有一个“名称”字段,我希望锚点是该字段的值,而不是随机的 id 号。

PyYAML 或 ruamel.yaml 可以做到这一点吗?

0 投票
2 回答
2830 浏览

python - 在python中将多个yaml文件与缩进结合起来

我有以下目录和文件结构。我想从以下这些文件夹中的所有 yaml 文件中创建一个 yaml 文件。

结果可能是(示例 yaml 文件)

我可以在文件夹中加入这些文件,但我不知道如何才能带来我上面描述的 yaml 格式。

我试过什么?

我想到了写入文件<folder_name>/file_name>,然后给出 4 个空格并按原样写入内容。

像下面的东西

这是按照我想要的方式创建 yaml 文件的好方法吗?如果是这样,我只需要知道如何在 4 个空格之后开始写入文件(原样)。

0 投票
1 回答
6621 浏览

python - 读取 YAML 文件并创建 Python 对象

我是 Python 的新手,并尝试阅读 YAML 文件。根据它的内容,我想创建 Python 对象。我正在使用 ruamel-yaml 库。就我而言,也许我有 Python-Classes Message、Signal 和 Signalgroup 等(参见示例文件)。

我的方法是读取 YAML 文件,检查给定关键字的每一行,然后创建相关对象并用数据填充它。我认为这是“老派”方法,也许有一种更有效的方法来处理文件。

也许使用函数 register_class/rep。创建标签“from_yaml”但由于键被索引它不起作用。

有没有更专业的方法?

0 投票
1 回答
513 浏览

python - 使用 Python 和 ruamel.yaml 中的引用序列化 YAML

我有一个yaml带有引用的文件,并且想要读取该文件并创建对象。内容YAML-File由“消息”类和“信号”类组成。消息可以包含对选定信号的引用列表。什么是好方法?我目前会使用该from_yaml方法并解码YAML-line. 我已经尝试过使用两个类 Signal 和 Message 但似乎解析器需要另一种语法或其他东西。

ruamel.yaml.parser.ParserError:解析“input4.yaml”第 18 行第 6 列中的块集合时在“input4.yaml”第 18 行第 17 列中未找到预期的“-”指示符

什么可能是读取和解码文件的好方法。一种可能是忽略引用,使用“from_yaml”解析失败,然后在第二步中手动将引用放在一起,但也许有更好的方法。

附上yaml-File

我的 phyton 程序看起来像

0 投票
1 回答
340 浏览

python-2.7 - 在 ruamel.yaml 往返解析中保留空消息

使用 ruamel.yaml,YAML 往返解析的输出

有什么方法可以保留空消息,或覆盖None代表以输出如上所述的空消息?