清理微信重复缓存

  • 1、引言
  • 2、glob模块
    • 2.1 缓存路径介绍
      • 2.1.1电脑端
      • 2.1.2 手机端
    • 2.2 glob介绍
      • 2.2.1 通配符介绍
      • 2.2.2 方法介绍
      • 2.2.3 提升效率
    • 2.3 crc32
  • 3、代码实战

1、引言

小屌丝:鱼哥,磁盘多少钱?
小鱼:你想要啥样的:拼多多上的, 淘宝上的,京东上的,还是实体店里的?
小屌丝:我就是单纯的想把我的电脑增加点容量~何苦这么难为我??
小鱼:我记得你的电脑,不是刚增加不就,怎么又满了?
小屌丝:说的我那啥似的…我这都是微信缓存占的!
小鱼:说的像真的似的,如果不是微信缓存的原因,咋办?
小屌丝:你先处理完…再说~ ~
小鱼:这…整吧…

2、glob模块

2.1 缓存路径介绍

在介绍glob模块之前,我们先来说一下缓存的路径。

2.1.1电脑端

电脑端路径
C:\Users\用户名\Documents\WeChat Files\微信名\FileStorage,

这是默认安装,存储的路径地址;
如果自定义安装,那地址另议。

2.1.2 手机端

手机端存储路径
内部存储设备→Android→data→com.tecent.mm→MicroMsg→Download

这就拿Android手机举例;

2.2 glob介绍

2.2.1 通配符介绍

符号 功能
* 匹配0或多个字符
** 匹配所有文件,目录,子目录和子目录里面的文件
匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次)
[] 匹配指定范围内的字符,如: [1-9]匹配1至9内的字符
[!] 匹配不在指定范围内的字符

2.2.2 方法介绍

1、当前文件下所有py路径:

#当前文件下所有py路径
for ftname in glob.glob("**/*.py",recursive=True):print(f'文件输出结果为{ftname}')

2、当前路径文件tmp下py文件

#当前路径文件tmp下py文件
for ftname in glob.glob("./tmp/*.py"):print(f'文件输出结果为{ftname}')

3、单字通配符?,当前路径文件下以file开头后有一个字符的py文件

#当前路径文件下以file开头后有一个字符的py文件
for ftname in glob.glob("./file?.py"):print(f'文件输出结果为{ftname}')

4、范围通配符[],当前路径文件下以file开头后一个数字符的py文件

#当前路径文件下以file开头后一个数字符的py文件
for ftname in glob.glob("./file[0-9].py"):print(f'文件输出结果为{ftname}')

5、范围通配符[],当前路径文件下以file开头后一个非数字符的py文件

#当前路径文件下以file开头后一个非数字符的py文件
for ftname in glob.glob("./file[!0-9].py"):print(f'文件输出结果为{ftname}')

2.2.3 提升效率

小屌丝:鱼哥,你这返回的执行速度不够快啊!
小鱼:也对,鉴于你每天撩妹的信息量巨大,我要使用杀手锏。
鉴于小屌丝这种情况,我们就使用glob模块iglob, 返回iterator执行效率更高,代码如下:

#当前路径文件tmp下py文件,使用iglob,返回迭代器效率更高
for ftname in glob.iglob("./tmp/*.py"):print(f'文件输出结果为{ftname}')

2.3 crc32

  • CRC32 算法概述 CRC 全称 Cyclic Redundancy Check,又叫循环冗余校验。
  • 和 md5 码一样都是 hash 的。
  • 当两个文件内容的 CRC32 相同的时候,这个文件也就是相同的。
  • 反之,两个文件就是不同的文件。

编写代码

# -*- coding: utf-8 -*-
# @Time   : 2021-10-17
# @Author : carl_DJdef crc32(file_path):with open(file_path, 'rb') as fh:hash = 0while True:s = fh.read(1024)if not s:breakhash = zlib.crc32(s, hash)return "%08X" % (hash & 0xFFFFFFFF)

3、代码实战

写代码之前,我们先捋一下思路,很简单,就三步:

  • 第一步,使用glob进行全盘扫描文件
  • 第二步,扫描的文件的crc32值放入字典中
  • 第三步,删除字典中crc32的值

编写代码

# -*- coding: utf-8 -*-
# @Time   : 2021-10-17
# @Author : carl_DJ'''
1、使用glob.glob进行全盘文件扫描
2、把文件的crc32值放入字典中
3、删除字典中的crc32的值'''import  os
import zlib
import glob#扫描文件,并删除重复文件
def scan_floder(glob_path):#设置一个空字典crc32Dict = {}#查找当前路径下的文件for ftname in glob.glob(glob_path,recursive=True):if os.path.isfile(ftname):#crc32![在这里插入图片描述](https://img-blog.csdnimg.cn/62798c261fd5411f8905139303702686.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ2FybF_lpZXnhLY=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)crc = crc32(ftname)if crc in crc32Dict:print(f'已经存在的文件:{crc32Dict.get(crc)}')print(f'重复文件:{ftname}')print(f'删除文件:{ftname}')#删除重复的文件os.remove(ftname)else:crc32Dict[crc] = ftname#把文件的crc32值存入到字典中
def crc32(file_path):with open(file_path,'rb') as f:hash = 0while True:s = f.read(1024)if not s:breakhash = zlib.crc32(s,hash)return "%08X" %(hash & 0xFFFFFFFF)if __name__ == '__main__':scan_floder(r'C:\Users\用户名\Documents\WeChat Files\微信名称\FileStorage\xxx')

运行结果


小屌丝:我去~ 可以啊鱼哥。
小鱼:必须的,是不是突然觉得腰不疼腿不酸,CUP运行可起劲了!
小屌丝:鱼哥,还是你懂我~ ~
小鱼:给你一个眼神,自己体会!

其实手机端电脑端的清理机制差不多, 只是路径不一样。
所以,手机版的,我就不展示了。

1.手机USB链接电脑,
2.代码中路径输入手机端的路径即可。

Python3,25行代码,清理电脑版微信重复缓存,电脑从此健步如飞,建议收藏!!相关推荐

  1. 在通用计算机内pc是指什么地方,电脑版微信保存的文件在哪里?PC端微信文件保存位置是什么?...

    随着微信越来越融入大家的生活,大家越发依赖微信,人们在微信中进行大量私人社交.办公等行为:聊天.接收文件等.无法使用手机时人们需要用到电脑版微信,在电脑版微信里,接收文件之后如何找到文件的保存位置?P ...

  2. C语言微信控制windows电脑代码,Windows电脑版微信实现多开 无需第三方软件(bat命令实现)...

    如何使用电脑同时登录多个微信?由于软件的限制无法让PC端电脑板微信多开.电脑版微信多开很简单,不需要第三方软件,下面就介绍一下如何多开电脑版微信. 操作步骤 1.查看微信安装路径:选中微信程序快捷方式 ...

  3. 手把手带你清理电脑版微信冗余资源

    手把手带你清理电脑版微信冗余资源 文章目录 手把手带你清理电脑版微信冗余资源 正文 0. 痛点 1. 检查 MacOS 系统资源占用情况 2. 删除电脑版微信冗余空间 其他资源 参考连接 正文 真的是 ...

  4. 电脑版微信怎么看朋友圈_电脑上也可以看朋友圈,99%的人都不知道!

    作为国民APP微信,每天都在用!肯定很多人在想怎么样在电脑上也能使用微信,特别是在电脑上怎么样打开朋友圈? 今天WHO哥就把操作方法分享给大家. 首先,在电脑下载"电脑管家"(腾讯 ...

  5. 电脑版微信dat文件用什么软件打开

    1-4 一般来说,凡是说到微信电脑版的DAT文件,指的都是聊天过程中收发的图片,加密保存在电脑里. 这些文件正常情况下也只能在微信登录后,在微信里查看,因为微信加密的当然只有微信才能解密. 那有没有第 ...

  6. 如何实现一台电脑同时登录多个电脑版微信? Windows10

    参考之后原文:如何实现一台电脑同时登录多个电脑版微信? 实现步骤如下: 第一.首先我们选择桌面的微信图标,然后右键点击"属性". 第二.复制属性对话框中目标位置的代码(地址). 第 ...

  7. 【Python】解决最新电脑版微信[22-06]聊天文件统一按用户归类到MsgAttach文件夹的问题

    [Python]解决最新电脑版微信[22-06]聊天文件统一按用户归类到MsgAttach文件夹的问题 背景 前提 代码 版本1 版本2 背景 最近,微信又更新了,但这一版本的聊天文件安排方式变化有点 ...

  8. 代码内容变成图片_网站只剩25行代码,真有程序员“删库跑路”?

    "可能我删了数据才会轻松吧 可能我格了硬盘才会休息吧 可能逃出了公司我就跑到天边 可能我还没找到 那个BUG--" 曾经,有一位程序员,在某个加班的深夜,一边听着<可能否&g ...

  9. 老板到底能不能,监控到电脑版微信聊天?

    这是「进击的Coder」的第 423 篇技术分享 作者:车小胖 来源:车小胖谈网络 " 阅读本文大概需要 3 分钟. " 三个月前其实已经写了一篇,但是在那篇文章里只提到了网页版微 ...

最新文章

  1. C 语言判断大端小端
  2. 虚拟主机评测网已经崭露头角
  3. php curl post 超时设置,在PHP中设置curl的超时参数(timeout)
  4. Docker 入门(1)虚拟化和容器
  5. Django使用n内置模块发送HTML格式的邮件
  6. 页面自动刷新,页面自动跳转
  7. matplotlib数据可视化实战——饼状图+雷达图+三维图
  8. github克隆仓库加速
  9. php环境Unknown column ‘*‘ in ‘field list‘解决方案
  10. C# 线程手册 第三章 使用线程 Monitor.Wait() 和 Monitor.Pulse()
  11. oracle数据库驱动下载(ojdbc)
  12. java计算机毕业设计基于web旅游网站的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署
  13. 计算机管理中看不到iis,win10找不到“internet信息服务(IIS)管理器”怎么办
  14. Macbook外接windows键盘,设置快捷键
  15. Android高仿淘宝订单列表效果,列表中嵌套列表
  16. codeforces 884F 费用流,图解很清晰
  17. Python切图九宫格
  18. SVAC国家标准介绍
  19. 服务器白屏是系统在更新吗,远程服务器白屏怎么处理
  20. 2021软科大学排名爬虫程序

热门文章

  1. 大数据获客系统及源码5
  2. 拥有4k、8k高清壁纸资源的网站,随时更换手机心情
  3. linux ssr客户端 npmjs,umijs使用服务器端渲染ssr
  4. android 墨迹天气背景,GitHub - xiangzhihong/android: 仿墨迹天气折线,以及背景滚动效果...
  5. QIIME2进阶六_QIIME2训练分类器及物种注释
  6. form表单校验复杂系列--- form表单内插入独立的数据表格,动态校验数据表格内每行的文件上传
  7. 【Vue】Vue2知识点总结
  8. 微信小程序分析送积分功能如何实现_微信小程序积分商城系统如何裂变营销购物?...
  9. 百度小程序和微信小程序,开放与封闭之争
  10. 微信小程序 首行缩进无效