近几日在搞邮件自动发送,发现python原来可以发小表情!而且操作很容易,但是发现现在的博文介绍的不是很全面(或者我没搜出来……),因此在此补充一二。

1. python输出的表情样子

python 表情包图片 python表情包代码_python

 图里的表情包当然才是冰山一角,python能够输出的表情包,足足有数千个。以下是网站的截图,该网站链接是:🎁 Emoji cheat sheet for GitHub, Basecamp, Slack & more

python 表情包图片 python表情包代码_python_02

python 表情包图片 python表情包代码_python_03

  • 输出的结果可以是黑白的星星: 

python 表情包图片 python表情包代码_emoji表情_04

  •  也可以是红色的爱心

 

python 表情包图片 python表情包代码_python 表情包图片_05

  •  搞复杂一点可以是这样的:

python 表情包图片 python表情包代码_字符串_06

2. python输出emoji表情的第三方库和用法

1. 首先,很容易搜到,python输出emoji表情的第三方库就是emoji,它的官方介绍:https://pypi.org/project/emoji/

 

python 表情包图片 python表情包代码_emoji表情_07

 2. 接着,我们就是正常的下载该库,使用:

pip install emoji

python 表情包图片 python表情包代码_python 表情包图片_08

3. 安装成功后我们载入该库

import emoji

 emoji库主要有两个函数:emojize()和demojize()。前者根据代码能够生成 emoji表情,而后者则是将 emoji 表情进行解码。

4. 寻找emoji符号

在emoji网站中我们可以找到每个emoji的特定符号:

python 表情包图片 python表情包代码_python 表情包图片_09

这种两个冒号再加中间英文的就是emoji的特定符号,在python中可以进行解译

5. 生成字符串并打印emoji表情

import emoji
str_emoji="This is emoji :red_heart::red_heart::red_heart:"
print(emoji.emojize(str_emoji))

 我们可以看到,emojize()的用法就是:emoji.emojize(str),括号中为字符串。

到此为止,似乎结束了?不,还有很多bug:

import emoji
str_emoji="This is emoji :eight_pointed_black_star:"
print(emoji.emojize(str_emoji))

 

python 表情包图片 python表情包代码_emoji表情_10

当我们希望打印出 :eight_pointed_black_star: 的符号时候,pycharm会认真打出来符号……:

python 表情包图片 python表情包代码_字符串_11

6. python的emoji无法输出显示怎么办?

查了一圈,有的博文说是pycharm显示的问题。虽然很多表情显示的很丑,但是不至于显示不出来。于是查阅了官方文档,我们需要设定下面两个参数:

language='alias'
variant="emoji_type"

 前者是enables both the full list and aliases,而后者是为了显示原本的颜色。

当我们将两个参数都增加后,基本上都可以解决无法输出emoji的问题

import emoji
str_emoji="This is emoji :eight_pointed_black_star:"
print(emoji.emojize(str_emoji,language='alias',variant="emoji_type"))

 

python 表情包图片 python表情包代码_python 表情包图片_12

然后就可以了。

3. 参考资料

  1. emoji库官方文档