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

python - 如何使用来自另一个字典中匹配键的值更新 YAML 文件?

我有一个名为的 YAML 文件input.yaml

我有一本字典:

我想要一个名为的更新文件output.yaml,如下所示:

请注意输出文件如何在“电话”字段中添加来自匹配键的字典值的值。

我如何获得这样的文件?...我已经尝试了各种。

0 投票
1 回答
481 浏览

python-3.x - 如何在 python 中使用 ruamel 库为数组添加新元素?

我有一个要使用 ruamel 更改的 yaml 文件。如果部署只包含一个环境,我可以更改它。问题是我想添加/更改多个环境。这是一个示例代码,它适用于使用 2 个参数的一个环境。

示例.py

结果

sample.py 仿真测试

想要的结果:

sample.py mitul-trial 测试 mitul1 testsomething

0 投票
1 回答
415 浏览

ruamel.yaml - 如何使用 ruamel.yaml 将字典与基于 defaultdict 的字典打印为 yaml 文件?

请参考下面显示的这个简单的代码块。我的目标是使用 defaultdict 来制作一个相对简单的字典,并将结果进一步打印为 yaml 文件。

当我手动定义字典时,它似乎工作得很好,并且 YAML 完全按照我想要的方式显示,但是当我使用defaultdict字典时,我收到一条错误消息,不幸的是我无法破译.

当我将字典打印为 JSON 时,它会打印完全相同的输出。我错过了什么?

错误信息

0 投票
1 回答
6949 浏览

python - 找不到满足 ruamel 要求的版本(来自版本:)没有为 ruamel 找到匹配的发行版

这是python版本:

我想安装 ruamel:

但我无法安装它:

我究竟做错了什么?

0 投票
2 回答
294 浏览

yaml - Python 3.5 - 如何在 YAML 中打印带有双引号的值?

我想打印一个 YAML 文件(带有键和值)并在双引号之间添加一些值。我想使用这里提供的解决方案:如何在 YAML 中打印带有双引号和空格的值?

不幸的是,当我为 python 3.5 ( sudo apt install python3-ruamel.yaml) 安装 ruamel.yaml 时,我无法在脚本 scalarstring.py 中找到函数 DoubleQuotedScalarString() 。这是它的样子:

目前,这是我使用 ruamel.yamp.dump() 获取我的 yaml 文件时获得的内容:

这是我想要的 yaml 文件中的内容:

我想怎么解决这个问题?

0 投票
1 回答
2063 浏览

python - 如何使用 ruamel.yaml 转储文字标量

我搜索并找到了“类似”的帖子,但没有任何内容可以直接回答我的问题。我还在这里找到了一个 stackoverflow 帖子,但没有答案。

yaml我需要使用以下格式写入文件:

如果我使用包含其中的长字符串\n,它将按原样打印:

这不是我想要的。我也可以将它作为一个列表传递,其中每个项目看起来像这样

但这只会导致

有点像第一个,其实不是。如何让 ruamel.yaml 以我想要的方式转储它?

0 投票
1 回答
2451 浏览

python - Python YAML 转储特殊字符和多行

我有一个my_yaml.yml包含以下内容的文件:

我想加载它然后转储到一个my_yaml_new.yml与原始输入文件具有完全相同格式和字符的文件中。我的代码是:

我可以dump将它放入控制台,但1)abilities &的顺序name已经改变:(

结果是:

当我尝试转储到文件中时:

2)由于字符,我收到以下错误Û

UnicodeEncodeError:“charmap”编解码器无法在位置 0 编码字符“\xdb”:字符映射到未定义

如果我从输入文件中删除这一行,my_yaml.yml那么上面的转储是成功的,但是3)我在person字符串中的多行进入一行:(

4)而且我的单引号(')也从special_chars:(

5)还要注意元素 ofskills没有缩进:(

我已经尝试了这些解决方案但没有成功。也没有import ruamel.yaml as yaml帮助。


更新

好的,下面的大包解决了问题1)4),我可以替换>|多行值,所以3)也解决了。也许5)不是一个大问题。但是我仍然在与特殊字符作斗争,Û所以Ǘ我仍在寻找问题2)的解决方案......

0 投票
2 回答
1485 浏览

python - Python ruamel.yaml 转储带有引号的标签

我正在尝试使用 ruamel.yaml 使用 python 动态修改 AWS CloudFormation 模板。我添加了以下代码以使 safe_load 与 CloudFormation 函数一起使用,例如!Ref. 但是,当我将它们转储出来时,那些带有 !Ref (或任何其他函数)的值将被引号包裹起来。CloudFormation 无法识别。

请参见下面的示例:

输入文件是这样的:

输出是这样的:

注意 '!Ref VpcRouteTable' 被单引号包裹起来。这不会被 CloudFormation 识别。有没有办法配置转储程序,以便输出如下:

我尝试过的其他事情:

  • pyyaml 库,工作方式相同
  • 使用 Ref:: 而不是 !Ref,效果相同
0 投票
1 回答
464 浏览

ruamel.yaml - 如何安装没有原生扩展的 ruamel.yaml

我想在没有编译器的环境中安装 ruamel.yaml,我不关心性能。

安装 ruamel.yaml w/o pip 尝试构建扩展并且无法执行未安装的 C 编译器的正确方法是什么?

我跑了

失败了

0 投票
1 回答
1128 浏览

yaml - 使用 ruamel.yaml 保持多行字符串具有相同的缩进 Python

我正在尝试制作一些 YAML 文件,并且正在努力以正确的格式获取 YAML 文件。我试图让值的字符串都在同一个缩进上,但我似乎无法让它工作。

这就是我所拥有的,但我正在寻找: