问题标签 [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 投票
1 回答
472 浏览

ruamel.yaml - 具有多个文件的 YAML 1.2 指令在不安全模式下不起作用

我正在尝试加载一个多文件 yaml 配置文件,如下所示:

文件:

而python脚本是:

执行时,会出现以下错误:

如果我load_all直接从模块中使用导入,则该文件有效。这是预期的行为吗?

这可能是一个错误,因为将实现标志设置为pure给出正确的解析结果。

虽然这没有并给出了上面的错误

0 投票
1 回答
1748 浏览

python - 使用 ruamel.yaml 在加载/转储 YAML 时保留锚点和别名

ruamel.yaml使用 yaml.load 时如何避免合并锚点?我想保持文件原样,只需修改一些键,例如production -> host&production -> port和转储到文件

0 投票
0 回答
632 浏览

python - 在自定义目录中安装 ruamel.yaml 时出现 Python 导入错误

我正在使用 python 2.7.13,
当我将它安装在自定义目录中时,我在导入 ruamel.yaml 时遇到了问题。

使用的命令如下:

我已将此自定义目录添加到 PYTHONPATH 环境变量
中,并且在此位置还有一个 .pth 文件,其中包含以下几行
Z:\XYZ\globalpacks\anotherApp
Z:\XYZ\globalpacks\ruamel

使用上述设置类似地安装了另一个应用程序
并且它可以工作。

我在这里想念什么?

PS:当我安装在 site-packages 文件夹中时它可以工作,当我 在 ruamel 文件夹中
创建一个init .py 文件时,它也可以在自定义文件夹中工作。

编辑:

由于我们的内容创建软件使用 python 2.7,我们只能
使用相同的版本。我们选择在所有机器上安装相同版本的 python
,并将导入路径设置为指向位于共享
网络驱动器上的模块/应用程序。
如前所述,它适用于 python 站点包,但不适用于PYTHONPATH环境变量
上的网络驱动器。 并且 已 尽职尽责地安装。抱歉,之前没有提供完整的详细信息。非常 感谢您的输入。
ruamel.yaml-**.nspkg.pthruamel.ordereddict-*-nspkg.pth

0 投票
1 回答
496 浏览

python - conda 包的 yaml 文件以编程方式更新

我有一个 python 脚本,它想读取一组 conda 食谱并用一些信息更新它们(例如文件:https ://github.com/williamjamir/staged-recipes/blob/850760fb63c0fc000b95ac27680ec018fa94dcb7/recipes/pyexcel-ezodf/meta .yaml):

我正在使用这个:

当我使用以下方法打印原始文件时yaml_file

输出包含许多与数据类型相关的标签和注释,例如:

我该如何解决这个问题?

0 投票
2 回答
999 浏览

python - 使用 ruamel 在 yaml 中插入节点

我想打印以下布局:

extra: identifiers: biotools: - http://bio.tools/abyss

我正在使用此代码添加节点:

yaml_file_content['extra']['identifiers'] = {}
yaml_file_content['extra']['identifiers']['biotools'] = ['- http://bio.tools/abyss']

但是,相反,我得到了这个输出,它将工具封装在 [] 中:

extra: identifiers: biotools: ['- http://bio.tools/abyss']

我尝试了其他组合但没有奏效?

0 投票
1 回答
3149 浏览

python - 编辑现有的 yaml 文件但保留原始注释

我正在尝试创建一个 Python 脚本,它将我们的 IPtables 配置转换为 YAML 文件中的多防火墙。我最初使用的是 pyyaml,但是后来发现这会删除我需要保留的所有评论,我发现 ruamel.yaml 可以用来保留评论,但是,我正在努力让它工作。

输入文件 (test.yaml)

result.yaml 的输出

这就是问题所在,您可以看到它已经更改了所有格式并删除了我们需要保留的注释,另一个问题是它删除了顶部的三个连字符,这将导致配置管理器无法读取文件。

0 投票
1 回答
1772 浏览

python - 如何为 ruamel.yaml 创建自定义 yaml 映射转储程序?

我正在尝试为某些配置对象制作自定义 YAML 转储器/加载器。为简单起见,假设我们要将类对象转储Herohero.yml文件中。

与默认转储器/加载器一起使用的示例

然后添加默认的装载机/转储器ruamel.yaml

并尝试转储和加载:

它完美地工作!

to_yaml但因自定义和from_yaml方法而失败

但是,当我需要更灵活的行为,因此需要自定义from_yamlto_yaml方法时,就会出现问题。

的实现Hero改为:

翻斗车按预期工作。但是加载未能加载 YAML 文件。抛出异常:

通过print(node)标有 的行for debug,加载的节点是:

不使用默认转储程序/加载程序的原因

此示例是显示问题的最小案例,在实际案例中,我试图仅转储对象的一部分,例如

所需的 YAML 文件A('Saber', 15)

在这种情况下,我不知道如何使默认的倾倒器/装载器工作。

我的错误在哪里导致失败?如何解决这个问题呢?

0 投票
1 回答
1773 浏览

python - pyyaml 输出不正确

我有一个 YAML 文件test.yaml

当我使用 PyYAML 读取和打印输出时,它给了我下面的输出,这与输入不同

代码:

我希望输出与输入相同,这里的顺序也发生了变化

0 投票
2 回答
19502 浏览

python - 在python中合并两个yaml文件

我有两个 yaml 文件,如下所述

test1.yaml

test2.yaml

我想合并这两个文件并创建一个新的输出文件,所以我使用 pyyaml 订单正在更改发布在此链接中相同

有人可以在不更改顺序的情况下帮助合并这些文件吗?最终的yaml应该是这样的

最终的.yaml

更新

我可以使用 ruamel.yaml 合并文件...这里是更新资源的示例代码

代码:

0 投票
2 回答
3518 浏览

python - 使用 python ruamel.yaml 将内容添加到 yaml 文件时从 dict 值中删除单引号

我有一个 yaml 文件,如下所述 test1.yaml

现在我想在 test1.yaml 的资源下添加 test1_routable_net: { get_param: abc_routable_net } 这是我尝试过的代码

上面代码的输出是 tes2.yaml

所需的输出是
tes2.yaml

我尝试使用test.strip('\''),但仍然没有用我看到值的单引号......如何从值中删除这些引号?