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

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

1、引言


小屌丝:鱼哥,磁盘多少钱?

小鱼:你想要啥样的:拼多多上的, 淘宝上的,京东上的,还是实体店里的?

小屌丝:我就是单纯的想把我的电脑增加点容量~何苦这么难为我??

小鱼:我记得你的电脑,不是刚增加不就,怎么又满了?

小屌丝:说的我那啥似的…我这都是微信缓存占的!

小鱼:说的像真的似的,如果不是微信缓存的原因,咋办?

小屌丝:你先处理完…再说~ ~

小鱼:这…整吧…


2、glob模块



2.1 缓存路径介绍


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


2.1.1电脑端

电脑端路径:

C:\Users\用户名\Documents\WeChat Files\微信名\FileStorage,


这是默认安装,存储的路径地址;

如果自定义安装,那地址另议。

image.png

2.1.2 手机端


手机端存储路径:

内部存储设备→Android→data→com.tecent.mm→MicroMsg→Download


这就拿Android手机举例;


2.2 glob介绍


2.2.1 通配符介绍

image.png

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_DJ
def crc32(file_path):
    with open(file_path, 'rb') as fh:
        hash = 0
        while True:
            s = fh.read(1024)
            if not s:
                break
            hash = 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://ucc.alicdn.com/images/user-upload-01/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 = 0
        while True:
            s = f.read(1024)
            if not s:
                break
            hash = zlib.crc32(s,hash)
        return "%08X" %(hash & 0xFFFFFFFF)
if __name__ == '__main__':
    scan_floder(r'C:\Users\用户名\Documents\WeChat Files\微信名称\FileStorage\xxx')


运行结果

image.png

小屌丝:我去~ 可以啊鱼哥。

小鱼:必须的,是不是突然觉得腰不疼腿不酸,CUP运行可起劲了!

小屌丝:鱼哥,还是你懂我~ ~

小鱼:给你一个眼神,自己体会!

其实手机端跟电脑端的清理机制差不多, 只是路径不一样。

所以,手机版的,我就不展示了。

1.手机USB链接电脑,

2.代码中路径输入手机端的路径即可。


目录
相关文章
|
10月前
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
266 5
|
监控 算法 安全
深度洞察内网监控电脑:基于Python的流量分析算法
在当今数字化环境中,内网监控电脑作为“守城卫士”,通过流量分析算法确保内网安全、稳定运行。基于Python的流量分析算法,利用`scapy`等工具捕获和解析数据包,提取关键信息,区分正常与异常流量。结合机器学习和可视化技术,进一步提升内网监控的精准性和效率,助力企业防范潜在威胁,保障业务顺畅。本文深入探讨了Python在内网监控中的应用,展示了其实战代码及未来发展方向。
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2650 10
|
JSON 编解码 数据安全/隐私保护
电脑录制鼠标键盘脚本,鼠标动作录制脚本,万能脚本录制器【python】
完整功能:实现鼠标移动、点击和键盘操作的录制与回放 数据持久化:将录制的动作序列保存为JSON文件
|
Linux 数据安全/隐私保护 Python
一键修改电脑机器码, 软件机器码一键修改工具, 机器码重置工具【python】
该工具实现了完整的机器码生成、加密、验证功能 使用系统硬件信息生成唯一机器码
|
JSON 数据安全/隐私保护 数据格式
电脑录制鼠标键盘脚本, 鼠标录制器免费版电脑版, 鼠标键盘录制工具【python】
这个Python脚本实现了一个完整的鼠标键盘录制工具,具有以下功能特点: 可以录制鼠标移动、点击和键盘按键操作
|
监控 算法 安全
公司电脑网络监控场景下 Python 广度优先搜索算法的深度剖析
在数字化办公时代,公司电脑网络监控至关重要。广度优先搜索(BFS)算法在构建网络拓扑、检测安全威胁和优化资源分配方面发挥重要作用。通过Python代码示例展示其应用流程,助力企业提升网络安全与效率。未来,更多创新算法将融入该领域,保障企业数字化发展。
345 10
|
监控 算法 安全
基于 Python 广度优先搜索算法的监控局域网电脑研究
随着局域网规模扩大,企业对高效监控计算机的需求增加。广度优先搜索(BFS)算法凭借其层次化遍历特性,在Python中可用于实现局域网内的计算机设备信息收集、网络连接状态监测及安全漏洞扫描,确保网络安全与稳定运行。通过合理选择数据结构与算法,BFS显著提升了监控效能,助力企业实现智能化的网络管理。
302 7
|
存储 缓存 小程序
微信小程序数据缓存与本地存储:优化用户体验
本文深入探讨微信小程序的数据缓存与本地存储,介绍其意义、机制及应用场景。通过合理使用内存和本地缓存,可减少网络请求、提升加载速度和用户体验。文中详细讲解了常用缓存API的使用方法,并通过一个新闻列表案例展示了缓存的实际应用。最后提醒开发者注意缓存大小限制、时效性和清理,以确保最佳性能。
|
存储 算法 数据安全/隐私保护
探究办公室电脑怎么共享文件的 Python 算法
在数字化办公环境中,高效文件共享是提升工作效率的关键。本文聚焦于使用Python实现办公室电脑文件共享的算法,涵盖需求分析、基础实现及优化拓展。通过socket编程和文件流操作,实现文件传输,并探讨多线程、权限管理和文件索引等优化措施,确保文件共享的安全性和便捷性,助力现代办公协同。

推荐镜像

更多