1

https://pypi.python.org/pypi/ruamel.yaml更改日志中有一个条目:0.11.12 (2016-07-06):

- added support for roundtrip of single/double quoted scalars using:
  ruamel.yaml.round_trip_load(stream, preserve_quotes=True)

使用 ruamel 我可以转换:

skip: Skip
show: 'Show'
remove: "Remove"
"info_on": "ON"

至:

skip: Skip
show: Show
remove: Remove
info_on: ON

ruamel 中是否有一个选项可以添加而不是保留引号导致:

"skip": "Skip"
"show": "Show"
"remove": "Remove"
"info_on": "ON"
4

1 回答 1

1

您可以使用以下dump()选项执行此操作default_style='"'

import sys
import ruamel.yaml

yaml_str = """\
skip: Skip
show: 'Show'
remove: "Remove"
"info_on": "ON"
"""

data = ruamel.yaml.round_trip_load(yaml_str)

ruamel.yaml.round_trip_dump(data, sys.stdout, default_style='"')

与您对派生 ruamel.yaml 的旧 PyYAML 所做的方式相同。

于 2016-08-05T09:50:14.537 回答