[英]Python yaml dump emojis as is
我正在使用python 3.9.5
和PyYaml 5.4.1
。
我有一个包含以下内容的文件t.yml
。
- ⬆️😢
我写了一个简单的python代码来读取yaml文件并将其转储回来。
import yaml
with open("t.yml") as file:
con = yaml.safe_load(file)
print(con)
with open("t.yml","w") as file:
yaml.dump(con,file)
代码的输出是:
['⬆️😢']
转储yaml后, t.yml
文件变成这样:
- "\u2B06\uFE0F\U0001F622"
如何以完全相同的格式转储表情符号,我加载了它们?
通常,YAML 在加载文件时会丢失信息(请参阅此问题),因此您不能总是完全按照写入的方式转储它,因为有关如何写入的信息已丢失。
在这种情况下,解决方案是设置allow_unicode
:
import sys,yaml
input = """
- ⬆️😢
"""
con = yaml.safe_load(input)
yaml.dump(con,sys.stdout, allow_unicode=True)
输出:
- ⬆️😢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.