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定时杀进程
Jun 06 Python
python 实现红包随机生成算法的简单实例
Jan 04 Python
详解tensorflow实现迁移学习实例
Feb 10 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
对numpy中向量式三目运算符详解
Oct 31 Python
pycharm 解除默认unittest模式的方法
Nov 30 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 Python
Python日志处理模块logging用法解析
May 19 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 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获得用户ip地址的比较不错的方法
2014/02/08 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
基于Python实现粒子滤波效果
2020/12/01 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
法务专员岗位职责
2014/01/02 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
环境卫生整治简报
2015/07/20 职场文书