28得票15回答
Conda 'ImportError: No module named ruamel.yaml.comments' Conda“导入错误:找不到模块名为ruamel.yaml.comments”

当我使用Conda运行任何命令时出现错误。Traceback (most recent call last): File "/usr/local/bin/conda", line 7, in <module> from conda.cli.main import mai...

17得票4回答
使用Python在YAML中获取重复的键

我们需要解析包含重复键的YAML文件,并且需要解析所有这些键。仅仅跳过重复键是不够的。我知道这违反了YAML规范,我不想这么做,但我们使用的第三方工具允许此用法,我们需要处理它。 文件示例:build: step: 'step1' build: step: 'step2' 在解析后...

15得票1回答
如何使用ruamel.yaml使序列正确缩进?

使用以下数据from ruamel import yaml data = {1: {1:[{1:1,2:2},{1:1,2:2}], 2:2}, 2: 42} 我得到的序列缩进不正确>>> print yaml.round_trip_dump(data) 1: 1: ...

15得票3回答
使用ruamel.yaml将YAML转储为字符串的最佳方法(而不是转储到流)。

过去,我像这样做:some_fancy_printing_loggin_func(yaml.dump(...), ...),使用ruamel.yaml的向后兼容部分,但我想将代码转换为使用最新的API,以便我可以利用一些新的格式设置。 但是,我讨厌必须指定一个流到ruamel.yaml.YAM...

13得票1回答
YAML 错误:无法确定标记的构造函数

这非常类似于问题/44786412,但我的问题似乎是由YAML safe_load()触发的。我正在使用Ruamel的库和YamlReader将一堆CloudFormation碎片粘合成一个单一的、合并的模板。难道感叹号注释不是正确的YAML吗? Outputs: Vpc: Va...

13得票2回答
在ruamel.yaml中保留引号

我正在使用ruamel.yaml来修改一个YAML文件。我的要求是为现有键添加一个值,保留其他所有内容,包括顺序。我已经成功地完成了它,但看起来其他键/值的引号在此过程中也被修改了。 对于某些情况,双引号会转换为单引号。例如: 之前node_js: - "0.10" 之后node_j...

12得票1回答
防止ruamel.yaml中的长行被换行

我使用load_yaml_guess_indent(f, preserve_quotes=True)来读取YAML文件,然后进行修改并写回。但我注意到在写回时,较长的行会被换行(即80-85个字符之后会插入一个换行符)。是否有参数可以传递以防止发生这种情况?

12得票1回答
如何配置ruamel.yaml.dump输出?

使用这个数据结构:d = { (2,3,4): { 'a': [1,2], 'b': 'Hello World!', 'c': 'Voilà!' } } 我想获取这个 YAML:%YAML 1.2 --- [2,3,4]: ...

12得票1回答
为什么PyYAML使用生成器来构建对象?

我一直在阅读PyYAML的源代码,试图理解如何定义一个适当的构造函数,以便我可以使用add_constructor添加它。 我现在对这段代码的工作原理有了很好的理解,但我仍然不明白为什么SafeConstructor中的默认YAML构造函数是生成器。例如,SafeConstructor的con...

11得票1回答
如何在使用ruamel.yaml进行转储时保留YAML文件中的空值?

我有一个YAML文件site.yaml: Kvm_BLOCK: ip_address: 10.X.X.X property: null server_type: zone 使用以下方式加载并转储: ruamel.yaml.dump(site_yaml, new_file, ...