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 08 Python
简单介绍Python中的JSON模块
Apr 08 Python
Python中获取对象信息的方法
Apr 27 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
Python实现二维数组输出为图片
Apr 03 Python
pycharm设置鼠标悬停查看方法设置
Jul 29 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 Python
Python matplotlib 利用随机函数生成变化图形
Apr 26 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读书笔记整理_结构语句详解
2016/07/01 PHP
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
Linux的主要特性
2014/10/06 面试题
高中三年学习生活的自我评价
2013/10/10 职场文书
信息管理员岗位职责
2013/12/01 职场文书
中学教师管理制度
2014/01/14 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
项目采购员岗位职责
2014/04/15 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
《桂花雨》教学反思
2016/02/19 职场文书