python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python 随机生成emoji表情

python 随机生成emoji表情的方法实现

作者:家有娇妻张兔兔

本文主要介绍了python 随机生成emoji表情的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

问题的产生

问答板块有人提问,感觉挺有趣的就记录下来

image.png

解决

网上搜的大多是用的emoji库的两个函数:emojize()和demojize()。前者根据代码能够生成 emoji表情,而后者则是将 emoji 表情进行解码。

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

基本上就是从官网找到指定的符号然后输出表情但是它不满足随机的这个条件。

要不就是需要安装emojilib库,然后调用emoji_list = list(emoji.keys())但是实际操作时 发现报错提示没有list方法,不知道是版本问题还是怎么的,反正就是不成功。遂去官网api研究。

官网文档

因为主要用的语言不是python 所以不知道解决方法好不好,仅供参考 如有更优解,欢迎指正

image.png

查看官网发现有字典,觉得应该可以用,再看下字典里边的详细参数类型。

数据类型

其中 EMOJI_DATA 的数据类型为:

EMOJI_DATA = {
  '🥇': {
      'en' : ':1st_place_medal:',
      'status' : emoji.STATUS["fully_qualified"],
      'E' : 3,
      'de': ':goldmedaille:',
      'es': ':medalla_de_oro:',
      'fr': ':médaille_d'or:',
      'pt': ':medalha_de_ouro:',
      'it': ':medaglia_d'oro:'
  },
  ...
}

其中分别为emoji名称:每个emoji表情符号都有一个唯一的名称

语言类型:LANGUAGES = [‘en’, ‘es’, ‘ja’, ‘ko’, ‘pt’, ‘it’, ‘fr’, ‘de’, ‘fa’, ‘id’, ‘zh’]

表情符号状态值:

STATUS = {
    "component": component,
    "fully_qualified": fully_qualified,
    "minimally_qualified": minimally_qualified,
    "unqualified": unqualified
}

实现思路

查看官网api的时候发现在 emoji 模块中,有这个 EMOJI_DATA 参数。

emoji 库中的 EMOJI_DATA 是一个包含常见 emoji 表情信息的 Python 字典。该字典包含了大量 emoji 表情的名称、别名和对应的 Unicode编码。

emoji 表情都表示为一个键值对,其中键是 emoji 表情的名称或别名,值是一个包含以下信息的字典:

所以可以选择通过字典来获取表情。

实现前提:

Python 中,使用 emoji 模块来处理表情符号,并且结合 random 模块来随机取表情。

因此首先来安装 emoji 模块。

使用以下命令来安装:

pip install emoji

具体实现:

emoji.EMOJI_DATA 中的所有表情符号取出,并将其键(即表情符号本身)转换为列表 emojis_list 。然后,使用 random.choice() 函数从列表中随机选择一个表情符号,并打印出选中的表情符号及其描述信息。

import random
import emoji
print(len(emoji.EMOJI_DATA))
# 获取所有表情符号及其描述信息
all_emojis = emoji.EMOJI_DATA
# 将表情符号的键(键即为表情符号本身)转换为列表
emojis_list = list(all_emojis.keys())
# 随机选择一个表情符号
random_emoji = random.choice(emojis_list)
# 打印随机表情符号及其描述信息
print(f"随机表情符号:{random_emoji}")

其他常见用法

插入 Emoji 表情:

使用 emojize 函数可以将文本中的 Emoji 表情别名(如 😄)替换为对应的 Emoji 图标:

import emoji
text = "Hello, :smile:!"
emoji_text = emoji.emojize(text)
print(emoji_text)

输出:Hello, 😄!

解析 Emoji 表情:

使用 demojize 函数可以将文本中的 Emoji 图标转换回 Emoji 表情别名:

import emojitext = "Hello, 😄!"deemoji_text = emoji.demojize(text)print(deemoji_text)

输出:Hello, 😄!

查找和统计 Emoji 表情:

使用 emoji_count 函数可以统计文本中包含的 Emoji 表情数量:

import emoji
text = "I love Python! 😍🐍"
emoji_count = emoji.emoji_count(text)
print("Emoji Count:", emoji_count)

输出:Emoji Count: 2

其他功能:

到此这篇关于python 随机生成emoji表情的方法实现的文章就介绍到这了,更多相关python 随机生成emoji表情内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文