返回顶部
首页 > 资讯 > 后端开发 > Python >python编程实现清理微信重复缓存文件
  • 717
分享到

python编程实现清理微信重复缓存文件

2024-04-02 19:04:59 717人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录glob 模块glob方法zlib.crc32去重复总结文 | 某某白米饭 来源:python 技术「ID: Pythonall」 微信和 QQ 都有一个存放缓存文件的

文 | 某某白米饭

来源:python 技术「ID: Pythonall」

微信和 QQ 都有一个存放缓存文件的文件夹,微信在设置 --> 文件管理,QQ 在系统设置 --> 基本设置 --> 文件管理 --> 打卡个人文件中找到它,平时大家对这个文件夹关注度不高,这个文件夹慢慢的,偷偷的就占用了好几十个 G 的磁盘空间。下面就用 Python 写个删除重复文件的脚本清理这些空间。

glob 模块

glob 模块非常简单,就是用来查找文件和文件夹。查找文件只用到三个匹配符:"*", "?", "[]"。

通配符 功能

*:匹配0或多个字符

**:匹配所有文件,目录,子目录和子目录里面的文件

?:匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次)

[]:匹配指定范围内的字符,如: [1-9]匹配1至9内的字符

[!]:匹配不在指定范围内的字符

glob方法

这个方法返回所有匹配的文件路径列表


# 当前路径下所有 py 文件
for fname in glob.glob("**/*.py",recursive=True):
    print(fname)
 
# 当前路径文件 py 下 py 文件
for fname in glob.glob("py/*.py"):
    print(fname)
 
# 单字通配符 ?,当前路径文件下以 Tem 开头后有一个字符文件夹
for fname in glob.glob("Tem?"):
    print(fname)
 
# 范围通配符[],当前路径文件下以 Tem 开头后一个数字符的 py 文件
for fname in glob.glob("Tem[0-9].py"):
    print(fname)
 
# 范围通配符[!],当前路径文件下以 Tem 开头后一个非数字符的 py 文件
for fname in glob.glob("Tem[!0-9].py"):
    print(fname)
 
windowns下
file = glob.glob(r'D:\logs\*\*')

zlib.crc32

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


def crc32(file_path):
    with open(file_path, 'rb') as fh:
        hash = 0
        while True:
            s = fh.read(65536)
            if not s:
                break
            hash = zlib.crc32(s, hash)
        return "%08X" % (hash & 0xFFFFFFFF)

去重复

看到这里,想必都明白如何去重复文件了:1. 用 glob.glob 扫描所有文件,2. 把文件的 crc32 值放入字典中,3. 找到字典中已经存在的 crc32 值的key,删除当前文件。


import os
import zlib
import glob
def scanning_floder(glob_path):
    crc32Dict = {}
    for fname in glob.glob(glob_path, recursive=True):
        if os.path.isfile(fname):
            crc = crc32(fname)
            if crc in crc32Dict:
                print('已经存在文件:' + crc32Dict.get(crc))
                print('重复文件:' + fname)
                print('删除文件:' + fname)
                os.remove(fname)
                print('')
            else:
                crc32Dict[crc] = fname
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)
 
scanning_floder(r"C:\Users\xxxx\Documents\WeChat Files\xxxx\FileStorage\**\*")

fab717efc7f78f9fd263b60dfb66398f.png 

总结

本篇介绍了 glob 模块的用法和 crc32 值的计算,大家学废了吗?

更多关于python清理重复缓存文件的资料请关注编程网其它相关文章!

--结束END--

本文标题: python编程实现清理微信重复缓存文件

本文链接: https://lsjlt.com/news/156043.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python编程实现清理微信重复缓存文件
    目录glob 模块glob方法zlib.crc32去重复总结文 | 某某白米饭 来源:Python 技术「ID: pythonall」 微信和 QQ 都有一个存放缓存文件的...
    99+
    2024-04-02
  • 微信小程序清除缓存功能怎么实现
    要实现微信小程序的清除缓存功能,可以使用wx.clearStorage()方法来清除小程序的本地缓存。具体的实现步骤如下:1. 在需...
    99+
    2023-09-26
    微信小程序
  • Python实现清理重复文件功能的示例代码
    目录前置查找、删除重复文件GUI制作GUI界面设计逻辑设计效果展示在电脑上或多或少的存在一些重复文件,体积小的倒没什么,如果体积大的就很占内存了,而如果自己一个一个查看文件是否重复,...
    99+
    2024-04-02
  • Python实现清除文件夹中重复视频
    目录前言1.科普二进制文件摘要算法(MD5)shutil模块2.视频清除视频全在一个文件夹里视频在不同的文件夹里3.总结前言 在早期学Python的时候,买了一本《Python编程快...
    99+
    2024-04-02
  • 微信小程序实现页面缓存效果
    抱歉,我不能在该平台上提供具体的代码示例。但是我可以给你一些关于微信小程序实现页面缓存的一般指导和步骤,希望能帮到你。微信小程序是一种轻量级的应用程序,它需要快速加载和响应用户操作。页面缓存是一种优化技术,可以加快页面加载速度,提升用户体验...
    99+
    2023-11-21
    页面 缓存 微信小程序
  • python实现自动清理文件夹旧文件
    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片。...
    99+
    2024-04-02
  • Python自动化办公之清理重复文件详解
    目录清理重复的文件清理重复文件的优化1清理重复文件的优化2清理重复文件的优化3批量修改文件名清理重复的文件 已知条件: 什么都不知道,只需要知道它是文件就可以了 实现方法: 可以从指...
    99+
    2024-04-02
  • Python 编程技巧:如何在处理大文件时使用文件缓存对象?
    在 Python 编程中,处理大文件是一个经常遇到的问题。如果我们一次性将整个文件读入内存,会导致内存溢出,程序崩溃。那么,该如何处理这个问题呢?在这篇文章中,我们将介绍如何使用 Python 的文件缓存对象,来高效地处理大文件。 一、什...
    99+
    2023-07-11
    文件 缓存 对象
  • python如何实现微信小程序反编译
    这篇文章主要介绍“python如何实现微信小程序反编译”,在日常操作中,相信很多人在python如何实现微信小程序反编译问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python如何实现微信小程序反编译”的疑...
    99+
    2023-06-25
  • python实现微信小程序反编译效果
    对某大神文件进行二次开发实现python实现微信小程序反编译 对于小程序反编译想必大家都不陌生 并且也有许多大神给出了自己的方法 具体可以参考下这篇 可能是我本人技术的问题,很多方法...
    99+
    2024-04-02
  • 微信小程序怎么实现自动保存下载文件名
    本篇内容介绍了“微信小程序怎么实现自动保存下载文件名”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题的提出小程序使用wx.playVoic...
    99+
    2023-06-19
  • 微信小程序中如何实现本地数据缓存功能
    小编给大家分享一下微信小程序中如何实现本地数据缓存功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:前面介绍了微信小程序获取位置信息操作。这里再来介绍一下微信小程序的本地数据缓存...
    99+
    2024-04-02
  • 微信小程序中富文本编辑器的实现
    小程序也是有富文本编辑器这个控件的,别说,之前我还真没注意。 官方文档 官方文档中给出的东西倒是不多,具体的代码示例在下图红框中标注的位置: 示例代码大概是这个样子: 通过官方的...
    99+
    2024-04-02
  • Python 编程中,如何优化文件缓存对象的使用?
    在 Python 编程中,文件操作是非常常见的一个操作,但是对于大文件的读写操作,会遇到一些性能瓶颈。这时候,我们可以使用文件缓存对象来优化文件读写操作的性能。本文将介绍如何优化文件缓存对象的使用,以提高 Python 文件读写操作的性能...
    99+
    2023-07-11
    文件 缓存 对象
  • Python实现乱序文件重新命名编号
    目录获取文件列表筛选视频文件批量重命名人生苦短,快学Python! 最近有位读者朋友遇到了一个小问题,私聊找小五答疑。感觉也会有其他同学会遇到,所以干脆分享出来。 如下图所示,在本...
    99+
    2024-04-02
  • 微信小程序uploadFile接口实现文件上传
    目录写在前面创建前端页面写入js事件-完成上传操作配置后端php接口文件实现上传功能完善上传功能写在前面 上节中我们讲到小程序的request请求,掌握了基本的网络请求方式,这节我们...
    99+
    2024-04-02
  • Python小程序编程实现一键自动整理文件解压文件
    目录前言一、小程序构建思路1.需求2.技术二、编程实现1.引入库2.窗口调整3.选择目录前言 什么是效率?简单就是效率!但是想要自己做的小程序足够美观可不是一件简单的事。一开始想做...
    99+
    2023-02-16
    Python自动整理解压文件 Python编程小程序
  • 微信小程序中富文本编辑器如何实现
    本文小编为大家详细介绍“微信小程序中富文本编辑器如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序中富文本编辑器如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。示例代码大概是这个样子:通过官...
    99+
    2023-07-02
  • Java编程调用微信接口实现图文信息推送功能
    本文实例讲述了Java编程调用微信接口实现图文信息等推送功能。分享给大家供大家参考,具体如下:Java调用微信接口工具类,包含素材上传、获取素材列表、上传图文消息内的图片获取URL、图文信息推送。微信图文信息推送因注意html代码字符串中将...
    99+
    2023-05-31
    java 推送
  • 微信小程序如何实现wxml文件和wxss文件支持webstrom
    这篇文章主要介绍微信小程序如何实现wxml文件和wxss文件支持webstrom,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ebstrom默认不支持wxml文件和wxss文件,所以...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作