问题标签 [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.
ruamel.yaml - 具有多个文件的 YAML 1.2 指令在不安全模式下不起作用
我正在尝试加载一个多文件 yaml 配置文件,如下所示:
文件:
而python脚本是:
执行时,会出现以下错误:
如果我load_all
直接从模块中使用导入,则该文件有效。这是预期的行为吗?
这可能是一个错误,因为将实现标志设置为pure
给出正确的解析结果。
虽然这没有并给出了上面的错误
python - 使用 ruamel.yaml 在加载/转储 YAML 时保留锚点和别名
ruamel.yaml
使用 yaml.load 时如何避免合并锚点?我想保持文件原样,只需修改一些键,例如production -> host
&production -> port
和转储到文件
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.pth
ruamel.ordereddict-*-nspkg.pth
python - conda 包的 yaml 文件以编程方式更新
我有一个 python 脚本,它想读取一组 conda 食谱并用一些信息更新它们(例如文件:https ://github.com/williamjamir/staged-recipes/blob/850760fb63c0fc000b95ac27680ec018fa94dcb7/recipes/pyexcel-ezodf/meta .yaml):
我正在使用这个:
当我使用以下方法打印原始文件时yaml_file
:
输出包含许多与数据类型相关的标签和注释,例如:
我该如何解决这个问题?
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']
我尝试了其他组合但没有奏效?
python - 编辑现有的 yaml 文件但保留原始注释
我正在尝试创建一个 Python 脚本,它将我们的 IPtables 配置转换为 YAML 文件中的多防火墙。我最初使用的是 pyyaml,但是后来发现这会删除我需要保留的所有评论,我发现 ruamel.yaml 可以用来保留评论,但是,我正在努力让它工作。
输入文件 (test.yaml)
result.yaml 的输出
这就是问题所在,您可以看到它已经更改了所有格式并删除了我们需要保留的注释,另一个问题是它删除了顶部的三个连字符,这将导致配置管理器无法读取文件。
python - 如何为 ruamel.yaml 创建自定义 yaml 映射转储程序?
我正在尝试为某些配置对象制作自定义 YAML 转储器/加载器。为简单起见,假设我们要将类对象转储Hero
到hero.yml
文件中。
与默认转储器/加载器一起使用的示例
然后添加默认的装载机/转储器ruamel.yaml
并尝试转储和加载:
它完美地工作!
to_yaml
但因自定义和from_yaml
方法而失败
但是,当我需要更灵活的行为,因此需要自定义from_yaml
和to_yaml
方法时,就会出现问题。
的实现Hero
改为:
翻斗车按预期工作。但是加载未能加载 YAML 文件。抛出异常:
通过print(node)
标有 的行for debug
,加载的节点是:
不使用默认转储程序/加载程序的原因
此示例是显示问题的最小案例,在实际案例中,我试图仅转储对象的一部分,例如
所需的 YAML 文件A('Saber', 15)
是
在这种情况下,我不知道如何使默认的倾倒器/装载器工作。
我的错误在哪里导致失败?如何解决这个问题呢?
python - pyyaml 输出不正确
我有一个 YAML 文件test.yaml
:
当我使用 PyYAML 读取和打印输出时,它给了我下面的输出,这与输入不同
代码:
我希望输出与输入相同,这里的顺序也发生了变化
python - 在python中合并两个yaml文件
我有两个 yaml 文件,如下所述
test1.yaml
test2.yaml
我想合并这两个文件并创建一个新的输出文件,所以我使用 pyyaml 订单正在更改发布在此链接中相同
有人可以在不更改顺序的情况下帮助合并这些文件吗?最终的yaml应该是这样的
最终的.yaml
更新
我可以使用 ruamel.yaml 合并文件...这里是更新资源的示例代码
代码:
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('\'')
,但仍然没有用我看到值的单引号......如何从值中删除这些引号?