[英]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.