Return 表情符号名称而不是表情符号

Return emoji name instead of emoji

我有这个:'1⃣'(没有单引号)在 Python 3 中,即 :one:。有没有一种方法可以获得表情符号(如上面的那个)并打印相应的表情符号(在本例中为 :one:) 名称?

我正在从 discord.py 反应对象中获取表情符号。

在你的例子中,表情符号是一个 two-character 字符串。您可以通过获取字符串的第一个字符来获取数字:

char = '1⃣'
print(char[0]) # 1

对于另一个不仅仅是两个字符的表情符号,您可以使用 unicodedata 模块:

import unicodedata

char = '❤'
name = unicodedata.name(char)
print(name) # HEAVY BLACK HEART

在大多数情况下,表情的名称是 unicode 名称的最后一个字:

import unicodedata

char = '1⃣'
name = unicodedata.name(char[0])
name = name.split(' ')[-1]
print(f':{name.lower()}:')
# :one: