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 3中实现类型检查器的简单方法
Jul 03 Python
Python线程创建和终止实例代码
Jan 20 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
利用python求积分的实例
Jul 03 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
如何基于Python实现自动扫雷
Jan 06 Python
pytorch之添加BN的实现
Jan 06 Python
django 模版关闭转义方式
May 14 Python
python rolling regression. 使用 Python 实现滚动回归操作
Jun 08 Python
Python实现像awk一样分割字符串
Sep 15 Python
通过实例解析Python文件操作实现步骤
Sep 21 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常用函数小技巧
2008/09/11 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
PHP的几个常用加密函数
2016/02/03 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
js 小贴士一星期合集
2010/04/07 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
Vue实现验证码功能
2019/12/03 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
Python CSV模块使用实例
2015/04/09 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
python的mysqldb安装步骤详解
2017/08/14 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
国外平面设计第一市场:99designs
2016/10/25 全球购物
大学生心理活动总结
2014/07/04 职场文书
机械专业求职信范文
2014/07/15 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis