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实现文件路径和url相互转换的方法
Jul 06 Python
详解常用查找数据结构及算法(Python实现)
Dec 09 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
.img/.hdr格式转.nii格式的操作
Jul 01 Python
django rest framework使用django-filter用法
Jul 15 Python
Python实现上下文管理器的方法
Aug 07 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/06/14 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
Vue Socket.io源码解读
2018/02/07 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
pytorch训练imagenet分类的方法
2018/07/27 Python
python进程和线程用法知识点总结
2019/05/28 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
详解Python模块化编程与装饰器
2021/01/16 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
Linux文件操作命令都有哪些
2016/07/23 面试题
销售工作岗位职责
2013/12/24 职场文书
优秀员工推荐信
2014/05/10 职场文书
建筑工地文明标语
2014/10/09 职场文书
确保工程质量承诺书
2015/04/29 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
党员公开承诺书2016
2016/03/24 职场文书
Python函数中apply、map、applymap的区别
2021/11/27 Python
python实现学员管理系统(面向对象版)
2022/06/05 Python