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命令行传递实例化对象的方法
Nov 02 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
python验证身份证信息实例代码
May 06 Python
python读写csv文件实例代码
Jul 05 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
python制作英语翻译小工具代码实例
Sep 09 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
Tensorflow实现将标签变为one-hot形式
May 22 Python
Python爬虫requests库多种用法实例
May 28 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 Python
浅析PyCharm 的初始设置(知道)
Oct 12 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将数据库导出成excel的方法
2010/05/07 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
TensorFlow损失函数专题详解
2018/04/26 Python
pycharm设置注释颜色的方法
2018/05/23 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
J2EE相关知识面试题
2013/08/26 面试题
模具专业推荐信
2013/10/30 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
养成教育经验材料
2014/05/26 职场文书
户籍证明格式
2014/09/15 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
小学运动会报道稿
2015/07/22 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
详解CSS故障艺术
2021/05/25 HTML / CSS