【发布时间】:2017-06-24 23:27:43
【问题描述】:
我正在使用ruamel.yaml 来修改 YAML 文件。我的要求是为现有密钥添加一个值,保留包括订单在内的所有其他内容。我让它工作了,但看起来其他键/值的引号也在这个过程中被修改了。
-
在某些情况下,双引号会转换为单引号。例如
之前
node_js: - "0.10"之后
node_js: - '0.10' -
在其他一些情况下,引号会被完全删除。例如:
之前
before_script: - "cp test/config-x.js src/config.js"之后
before_script: - cp test/config-x.js src/config.js
这两种情况都出现在同一个文件中。我怎样才能阻止这种情况发生并保留原样?
我使用load_yaml_guess_indent() 进行加载,使用round_trip_dump() 将其写回。
【问题讨论】:
-
我不知何故忽略了您正在使用
load_yaml_guess_indent(),您也可以为该函数指定preserve_quotes=True,该参数将传递给round_trip_load()函数 -
谢谢。我明白了。最好能参考所有受支持的选项,就像这样。
标签: python yaml ruamel.yaml