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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
python爬取各类文档方法归类汇总
Mar 22 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
Django Rest framework之权限的实现示例
Dec 17 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
Python selenium文件上传下载功能代码实例
Apr 13 Python
解决python Jupyter不能导入外部包问题
Apr 15 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
Python如何把不同类型数据的json序列化
Apr 30 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
JAVA/JSP学习系列之七
2006/10/09 PHP
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
简单实现js拖拽效果
2017/07/25 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
实例讲解python函数式编程
2014/06/09 Python
python操作sqlite的CRUD实例分析
2015/05/08 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
Django中create和save方法的不同
2019/08/13 Python
python操作cfg配置文件方式
2019/12/22 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
出纳的岗位职责
2013/11/09 职场文书
餐饮加盟计划书
2014/01/10 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
说明书怎么写
2014/05/06 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
亲情作文之母爱
2019/09/25 职场文书