Python yaml 按原样转储表情符号
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)
输出:
- ⬆️
我正在使用 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)
输出:
- ⬆️