词云,照片墙,烟花

整体要实现的效果

写给闺蜜的小程序,主要实现了QQ聊天记录的统计词云,3D相册,烟花效果,考虑到对方没有运行环境,打包成.exe直接运行。

实现过程

聊天词云

1.正则处理聊天信息

(1)

字符功能
.匹配任意字符除了\n
[]匹配[]中列举的字符
\d匹配0-9的数字
\D匹配不是数字的字符
\s匹配空格\tab
\S匹配非空白符
\w匹配单词,a-z,A-Z,0-9,_
\W匹配非字符串
*匹配前一个字符出现0次或者无限次
+匹配前一个字符出现1次或者多次,直到出现一次
匹配前一个字符出现一次或者0次
{m}

匹配前一个字符出现m次

{m,}匹配前一个字符至少出现m次
{m,n}匹配前一个字符出现m到n次

(2)re.compile

         re.sub()

  (3)词云制作

工具:导入库pip install ---- -i -------,用到的库:jieba,wordcloud,pillow,matplotlib

import re
import webbrowser

from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba

import socket

 # 处理数据
        str = open(r'D:\\编程学习\\html\\玉惠.txt', 'r', encoding='utf-8').read()
        s = re.compile('2022.+玉惠|2022.+骁|2021.+玉惠|2021.+骁|2022.+WSY|2021.+上帝不掷骰子|表情|图片')  # 编写正则表达式
        flag = re.sub(s, '', str)  # 替换对应的字符串为空字符串

        for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~,。、 :':
            flag = flag.replace(ch, "")  # 将文本中特殊字符替换为空格

        f = open(r'D:\\编程学习\\html\\数据备份.txt', 'w', encoding='utf-8')
        f.write(flag)
        f.close()

        f1 = open(r'D:\\编程学习\\html\\数据备份.txt', 'r', encoding='utf-8')
        f2 = open(r'D:\\编程学习\\html\\备份.txt', 'w', encoding='utf-8')
        try:
            for line in f1.readlines():
                if line == '\n':
                    line = line.strip("\n")
                f2.write(line)
        finally:
            f1.close()
            f2.close()

        # 词云制作

        test = open(r'D:\\编程学习\\html\\备份.txt', 'r', encoding='utf-8').read()
        test = ' '.join(jieba.cut(test))

        mask = np.array(Image.open("D:\\编程学习\\html\\爱心.jpg"))  # 使用蒙版图片
        wc = WordCloud(mask=mask, font_path="C:\\Windows\\Fonts\\simhei.ttf", mode="RGBA",
                       background_color=None).generate(test)

        # 显示词云
        plt.imshow(wc, interpolation="bilinear")
        plt.axis("off")
        plt.show()

        # 保存到文件
        wc.to_file("D:\\编程学习\\html\\爱心1.png")

 打包python为.exe

1.安装pyinstaller(pip install pyinstaller -i 国内镜像)

国内镜像:

阿里云
https://mirrors.aliyun.com/pypi/simple

豆瓣
https://pypi.douban.com/simple

清华大学
https://pypi.tuna.tsinghua.edu.cn/simple

中国科技大学
https://pypi.mirrors.ustc.edu.cn/simple

2.pyinstaller -w -F ---.py

参数格式作用
-Fpyinstaller -F ---.py只在dist中产生一个demo.exe文件
-Dpyinstaller -D ---.py默认选项,除了demo.exe外,还会在dist中生成很多依赖文件
-wpyinstaller -w ---.py只对window有效,不使用控制台
-ppyinstall -p 路径\--.py设置导入路径,比较少用
-ipyinstaller -i ---.py将file.icon设置为exe文件的图标,推荐网站:icon
-cpyinstaller -c demo.py默认选项,只对Windows有效,使用控制台,就像编译运行C程序后的黑色弹窗

3.出现的错误

换成pyinstaller -c -F --.py

 又出现问题

修改程序出现的问题再转exe

最后完成了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值