【发布时间】:2016-09-21 09:36:01
【问题描述】:
当转储 (ruamel.yaml, PyYAML) dict data = {'abc': 'def'}
作为 Python 2.7 中的 YAML(使用 default_flow_style=False),您将获得:
abc: def
这很好。但是,如果您将所有字符串设为 unicode(通过 u 前缀或使用 from __future__ import unicode_literals),则会被转储为:
!!python/unicode 'abc': !!python/unicode 'def'
如何在不使用标签的情况下转储所有字符串(是否以 unicode 为前缀)而不恢复使用 safe_dump()?添加allow_unicode=True 并不能解决问题。
生成不需要的标签的完整示例:
from __future__ import unicode_literals
import sys
import ruamel.yaml
data = {'abc': 'def'}
ruamel.yaml.safe_dump(data, sys.stdout, allow_unicode=True, default_flow_style=False)
【问题讨论】:
标签: python-2.7 yaml pyyaml ruamel.yaml