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运算符重载详解及实例代码
Mar 07 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
Apr 11 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
使用python实现BLAST
Feb 12 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
PyQt5 pyqt多线程操作入门
May 05 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
Python制作简易版小工具之计算天数的实现思路
Feb 13 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
python函数的两种嵌套方法使用
Apr 02 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
域名查询代码公布
2006/10/09 PHP
php 购物车实例(申精)
2009/05/11 PHP
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
php生成扇形比例图实例
2013/11/06 PHP
Symfony控制层深入详解
2016/03/17 PHP
php图片添加水印例子
2016/07/20 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Python之os操作方法(详解)
2017/06/15 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
python调用支付宝支付接口流程
2019/08/15 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
如何查找和删除数据库中的重复数据
2014/11/05 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
超市国庆节促销方案
2014/02/20 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
民间个人借款协议书
2014/09/30 职场文书
公司委托书格式范文
2014/10/09 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers