问题标签 [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 回答
1991 浏览

python - 使用 ruamel.yaml 修改 YAML 会添加额外的新行

我需要为 YAML 文件中的现有键添加一个额外的值。以下是我正在使用的代码。

这是输入和输出。

输入

输出

我怎样才能摆脱和之间的新b线c?(当文件中的唯一键是唯一的键或和phase1之间没有空行时,此问题不存在。)phase1phase2

0 投票
1 回答
1801 浏览

ruamel.yaml - 如何使用 Ruamel.yaml 在某些数据之前添加一个空行

我似乎无法弄清楚如何使用 Ruamel.yaml 在数据之间添加一个空行。

假设我有数据:

我需要添加到这一点,以便我将拥有:

我了解空行是作为 CommentToken 实现的:

我不知道如何操作该结构。

0 投票
2 回答
1936 浏览

python - 如何在 Python 的 ruamel.yaml 中的空 yaml 文件中插入键值对?

我的目标是在可能为空的 YAML 文件中插入一个键值对。

例如,我的hiera.yaml(用于 puppet)文件只包含三个连字符。

这是我的代码:

我正在运行它:

./alice.py Alice Doe 开发者

我得到如下输出:

但是当我的 hiera.yaml 文件不为空时,例如:

然后它可以正常工作。

请告诉我如何将键值对(在我的例子中是一个字典)插入一个空的 YAML 文件。ruamel.yaml 官方页面的示例使用 doc 字符串作为示例 YAML 内容,然后插入键值对。

0 投票
2 回答
14028 浏览

yaml - 解析 yaml 文件时出错:发现无法启动任何令牌的字符 '%'

我正在尝试从 yaml 文件中解析具有类似于 jinaj2 模板语法的表达式的数据,目标是删除或添加一些项目到文件中。

AddCodesList.yaml

解析文件.py

执行 parseFile.py 脚本时出现以下错误:

0 投票
1 回答
1293 浏览

python - 使用 pyyaml 或 ruamel.yaml 构造函数作为别名的锚

我正在尝试使用通过别名中的构造函数传递的锚定数据,但是别名想要使用预构造函数数据。

我从 anthon 的Is there a way to construction an object using PyYAML construction_mapping after all nodes complete loading? 中获得了灵感?但仍然没有找到快乐。

下面是一些示例代码:

第一个负载有效,但我希望第二个负载输出为

相反,我得到

打印结果constructing表明构造函数已经完成了它的工作,但我怀疑它试图从未更改的 yaml 树中获取数据而不是从构造函数中获取结果数据的别名。

有什么办法可以使这项工作?

0 投票
1 回答
140 浏览

python - 如何让 Python 更新 YAML 的变量?

我想从 python 获取值以将它们放入 YAML:

input.yml

主机和系统日志部分正在工作,但我无法使前缀工作。

0 投票
1 回答
2627 浏览

python - 如何离线安装 ruamel.yaml python 库?

我正在尝试在没有 Internet 连接的 Centos 7 机器上安装 ruamel.yaml python 库。我试过这个:

  1. 使用本地存储库安装 libyaml-devel、python-devel、python-pip

  2. 从 pypi 下载 ruamel.yaml-0.13.14.tar 和 ruamel.ordereddict-0.4.6.tar(dependency)。

  3. 现在我可以使用 pip install 安装 ruamel.ordereddict 了,但是当我尝试以同样的方式安装 ruamel.yaml 时,出现以下异常:

    /li>

在离线模式下安装python库的正确方法是什么?

0 投票
3 回答
1186 浏览

ruamel.yaml - 删除 Ruamel.yaml 中的所有空行但不删除注释

我正在使用 Ruamel Python 库以编程方式更新人工编辑的 YAML 文件。

我有这样的数据:

我事先不知道评论会在哪里,空行会在哪里。

我需要将其重置为:

我可以从以前的 答案中看到如何简单地删除所有评论,但我不知道如何查看 CommentToken 以查看它是否包含我需要保留的评论。

0 投票
1 回答
184 浏览

python - 1.1 中的 ruamel.yaml 八进制

我尝试使用 PyYAML 运行此代码:

没想到它会抛出一个断言错误。在我阅读了更多文档(通过http://yaml.org/找到)后,我意识到 PyYAML 不久前就死了,并且从不支持 YAML 1.2 规范中的八进制整数。

使用 ruamel.yaml ( from ruamel.yaml import safe_load) 可以按预期工作。

只是出于好奇,我尝试了 ruamel.yaml 与旧的八进制格式(YAML 1.1在顶部和z: 052),并且效果也很好。我还尝试了以下方法:

期望它抛出一个错误,data['z']应该是一个字符串,而不是整数 42。这不会抛出一个错误,我认为它应该。

我的期望是错误的,还是 ruamel.yaml 中的错误?

0 投票
1 回答
237 浏览

python - 往返前导 0 的十六进制数

我愿意加载一个包含 32 位十六进制数字的 yaml 文件,并保留前导 0,以便数字始终采用 0xXXXXXXXX 的形式。

我创建了一个自定义类和表示器,以便可以以这种形式转储十六进制数字:

但是,我找不到将这种格式应用于往返的十六进制数的正确方法。

确实,以下内容:

显示器

我希望在哪里显示

如何继续强制十六进制数字适合 0xXXXXXXXXX 格式?