近几日在搞邮件自动发送,发现python原来可以发小表情!而且操作很容易,但是发现现在的博文介绍的不是很全面(或者我没搜出来……),因此在此补充一二。
1. python输出的表情样子
图里的表情包当然才是冰山一角,python能够输出的表情包,足足有数千个。以下是网站的截图,该网站链接是:🎁 Emoji cheat sheet for GitHub, Basecamp, Slack & more
- 输出的结果可以是黑白的星星:
- 也可以是红色的爱心
- 搞复杂一点可以是这样的:
2. python输出emoji表情的第三方库和用法
1. 首先,很容易搜到,python输出emoji表情的第三方库就是emoji,它的官方介绍:https://pypi.org/project/emoji/
2. 接着,我们就是正常的下载该库,使用:
pip install emoji
3. 安装成功后我们载入该库
import emoji
emoji库主要有两个函数:emojize()和demojize()。前者根据代码能够生成 emoji表情,而后者则是将 emoji 表情进行解码。
4. 寻找emoji符号
在emoji网站中我们可以找到每个emoji的特定符号:
这种两个冒号再加中间英文的就是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))
当我们希望打印出 :eight_pointed_black_star: 的符号时候,pycharm会认真打出来符号……:
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"))
然后就可以了。