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中的yield函数的用法
Apr 03 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
Python可迭代对象操作示例
May 07 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
Feb 09 Python
python读取mysql数据绘制条形图
Mar 25 Python
Python判断三段线能否构成三角形的代码
Apr 12 Python
python跨文件使用全局变量的实现
Nov 17 Python
python模块内置属性概念及实例
Feb 18 Python
pandas中pd.groupby()的用法详解
Jun 16 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
星际实力自我测试
2020/03/04 星际争霸
php foreach、while性能比较
2009/10/15 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
跟老齐学Python之一个免费的实验室
2014/09/14 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
九月份红领巾广播稿
2014/01/22 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
校庆活动策划方案
2014/06/05 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
教师考核表个人总结
2015/02/12 职场文书
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技