Python帮你解决手机qq微信内存占用太多问题


Posted in Python onFebruary 15, 2022

导语:

哈喽,哈喽~大家有没有遇到过这种情况,手机用着用着没有内存了,一到设置里面一看。

微信和 QQ 10G!

啊这。。。。。就离谱!好说,好说,设置中都有一个清除数据的功能,一键下去内存暂时都回来了,但是宝,你确定你微信和QQ中的信息都没用吗?

​下面能小编就用 Python 写个删除重复文件的脚本清理这些微信和QQ空间。确保在清除内存的时候,你的重要信息还在。

 

正文:

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\**\*")

Python帮你解决手机qq微信内存占用太多问题

总结

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

到此这篇关于Python帮你解决手机qq微信内存占用太多问题的文章就介绍到这了,更多相关Python qq微信内存占用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python通过递归遍历出集合中所有元素的方法
Feb 25 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Python实现简单过滤文本段的方法
May 24 Python
Python标准库笔记struct模块的使用
Feb 22 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
详解python函数的闭包问题(内部函数与外部函数详述)
May 17 Python
Python Selenium 之数据驱动测试的实现
Aug 01 Python
使用python+whoosh实现全文检索
Dec 09 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
Mar 02 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
Python+Selenium自动化环境搭建与操作基础详解
Mar 13 Python
python flappy bird小游戏分步实现流程
Python 居然可以在 Excel 中画画你知道吗
Feb 15 #Python
Python 恐龙跑跑小游戏实现流程
详解Python+OpenCV进行基础的图像操作
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 #Python
python 远程执行命令的详细代码
Feb 15 #Python
python 详解turtle画爱心代码
You might like
PHP学习之PHP运算符
2006/10/09 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
jquery实现图片放大镜效果
2020/12/23 jQuery
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python开发中module模块用法实例分析
2015/11/12 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python opencv实现图像配准与比较
2021/02/09 Python
优秀护士先进事迹
2014/05/08 职场文书
师范生求职自荐信
2014/06/14 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
婚前保证书范文
2015/02/28 职场文书
预备党员半年考察意见
2015/06/01 职场文书
幸福来敲门观后感
2015/06/04 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
MySQL分区表实现按月份归类
2021/11/01 MySQL