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基于DES算法加密解密实例
Jun 03 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
Mar 13 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
Python iter()函数用法实例分析
Mar 17 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
Python描述符descriptor使用原理解析
Mar 21 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 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
基于CI框架的微信网页授权库示例
2016/11/25 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
JavaScript之引用类型介绍
2012/08/10 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
python数组复制拷贝的实现方法
2015/06/09 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
详解Python中for循环是如何工作的
2017/06/30 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
行政部总经理岗位职责
2014/01/04 职场文书
市场营销求职信范文
2014/02/21 职场文书
办公设备采购方案
2014/03/16 职场文书
仓库文员岗位职责
2014/04/06 职场文书
违反交通法规检讨书
2014/09/10 职场文书
党组织结对共建协议书
2016/03/23 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
python实现学生信息管理系统(面向对象)
2022/06/05 Python