簡體   English   中英

Python yaml 按原樣轉儲表情符號

[英]Python yaml dump emojis as is

我正在使用python 3.9.5PyYaml 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM