emoji自动生成表情

请问如何在python中编写一句随机生成emoji表情的代码


import emoji
import random

emoji_list = emoji.get_emoji_list()
random_emoji = random.choice(emoji_list)

可以使用random模块和一个含有多个表情的列表。

import random

emojis = ["😀", "😃", "😄", "😁", "😆", "😅", "😂"]  # 添加更多表情符号到这个列表中

random_emoji = random.choice(emojis)
print(random_emoji)

参考一下 https://blog.csdn.net/lly1122334/article/details/106855999?ops_request_misc=&request_id=&biz_id=102&utm_term=python%20%E7%94%9F%E6%88%90emoji&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-106855999.142^v91^control,239^v12^control&spm=1018.2226.3001.4187

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7794622
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:如何在python中使用表情(emoji)符号?
  • 除此之外, 这篇博客: 【python】用emoji表情生成文字中的 代码: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

        脚本代码如下,各种注意事项均已在代码注释中写明。

    # coding=utf-8
    from PIL import Image, ImageFont, ImageDraw
    import numpy as np
    
    def getTextImage(text, fontFilePath = None, fontSzie = 10):
        #此处踩坑,truetype方法必须传入字体文件路径,传入None会报错
        font = ImageFont.truetype(fontFilePath, fontSzie, encoding='unic')
        #此处踩坑,在生成图片的文字为多行文字时,getsize方法返回的宽高会交换,具体什么原因未知,但是这么写就是对的
        height,width = font.getsize(text)
        #此处踩坑,getsize方法返回的高度在有些情况下可能不够长 因此将高度拓展为原来的1.2倍
        height = int(height * 1.2)
        #生成一张黑白纹理
        img = Image.new("1", (width, height))
        draw = ImageDraw.Draw(img)
        #textsize方法同样可以得到要生成的文字的大小 该大小更为准确  那么为啥不用这个大小直接生成图片呢 存疑
        w,h = draw.textsize(text, font)
        #渲染文字, 第一个参数是offset,此处传入的值是为了让渲染的文字居于图片的中心
        draw.text(((width - w) / 2 ,(height - h) /2 ), text, font = font, fill='red', align='center')
        # img.show()
        return img
    
    
    def getEmojiTextFromPureText(text):
        #在输入的文字中插入换行符,以得到竖排文字
        mutilLineText = ''
        lens = len(text)
        for i in range(lens):
            mutilLineText += text[i]
            if i != lens - 1:
                mutilLineText += '\n'
        #此处踩坑 在mac上有些字体生成汉字是会乱码,经本人尝试,simsun.ttc字体和Hiragino Sans GB.ttc字体均可生成中文图片,其余的不知道哪种字体可行
        img = getTextImage(mutilLineText, '/Users/xiaoyi/Downloads/simsun.ttc', fontSzie= 11)
    
        #将PIL的Image转为np的array 遍历图片输出即可
        array = np.array(img)
        height,width  = array.shape
        for j in range(height):
            for i in range(width):
                if array[j][i] :
                    print('🇨🇳', end = '') #传入end参数,用于指定不换行
                else:
                    print('✨', end = '')
            print('')
    
    getEmojiTextFromPureText('全世界无产者联合起来')
    
    
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
  • 随机生成,我可办不不了。但随机选择,是可以的。

看看这位的优秀文章:

Python表情输出指南:让你的代码更加生动_python unicode表情_code_kd的博客-CSDN博客 如果你想要输出特定的表情符号,但又不想依赖任何库或API,那么你可以使用Unicode码来输出。在编写代码时,使用表情符号可以使代码更生动有趣,也可以加强交流透明度。在Python中,我们可以使用emoji库、第三方API和Unicode码等多种方式来输出表情符号。如果你想要其他类型的表情符号,比如动态表情或者GIF,那么你可以使用第三方API来实现。表情是人们生活不可或缺的一部分,也可以在代码中发挥巨大的作用。在Python中,我们可以使用各种库和方法来输出表情符号。这会输出一个随机的动态表情。_python unicode表情 https://blog.csdn.net/update7/article/details/129807957