欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python幫你解決手機(jī)qq微信內(nèi)存占用太多問(wèn)題

 更新時(shí)間:2022年02月15日 16:43:46   作者:迢迢x  
你有沒(méi)有發(fā)現(xiàn)以前16G內(nèi)存也可以裝幾個(gè)游戲玩,現(xiàn)在128G的卻日常使用都不夠了?更不用說(shuō)裝什么游戲,這其實(shí)是軟件內(nèi)存占用過(guò)多導(dǎo)致的,今天我們用python來(lái)清理下

導(dǎo)語(yǔ):

哈嘍,哈嘍~大家有沒(méi)有遇到過(guò)這種情況,手機(jī)用著用著沒(méi)有內(nèi)存了,一到設(shè)置里面一看。

微信和 QQ 10G!

啊這。。。。。就離譜!好說(shuō),好說(shuō),設(shè)置中都有一個(gè)清除數(shù)據(jù)的功能,一鍵下去內(nèi)存暫時(shí)都回來(lái)了,但是寶,你確定你微信和QQ中的信息都沒(méi)用嗎?

?下面能小編就用 Python 寫(xiě)個(gè)刪除重復(fù)文件的腳本清理這些微信和QQ空間。確保在清除內(nèi)存的時(shí)候,你的重要信息還在。

正文:

glob 模塊

glob 模塊非常簡(jiǎn)單,就是用來(lái)查找文件和文件夾。查找文件只用到三個(gè)匹配符:"*", "?", "[]"。

通配符 功能

  • *:匹配0或多個(gè)字符
  • **:匹配所有文件,目錄,子目錄和子目錄里面的文件
  • ?:匹配一個(gè)字符,這里與正則表達(dá)式? (正則?匹配前面表達(dá)式0次或者1次)
  • []:匹配指定范圍內(nèi)的字符,如: [1-9]匹配1至9內(nèi)的字符
  • [!]:匹配不在指定范圍內(nèi)的字符

glob方法

這個(gè)方法返回所有匹配的文件路徑列表

# 當(dāng)前路徑下所有 py 文件
for fname in glob.glob("**/*.py",recursive=True):
    print(fname)
 
# 當(dāng)前路徑文件 py 下 py 文件
for fname in glob.glob("py/*.py"):
    print(fname)
 
# 單字通配符 ?,當(dāng)前路徑文件下以 Tem 開(kāi)頭后有一個(gè)字符文件夾
for fname in glob.glob("Tem?"):
    print(fname)
 
# 范圍通配符[],當(dāng)前路徑文件下以 Tem 開(kāi)頭后一個(gè)數(shù)字符的 py 文件
for fname in glob.glob("Tem[0-9].py"):
    print(fname)
 
# 范圍通配符[!],當(dāng)前路徑文件下以 Tem 開(kāi)頭后一個(gè)非數(shù)字符的 py 文件
for fname in glob.glob("Tem[!0-9].py"):
    print(fname)
 
windowns下
file = glob.glob(r'D:\logs\*\*'

zlib.crc32

CRC32 算法概述 CRC 全稱(chēng) Cyclic Redundancy Check,又叫循環(huán)冗余校驗(yàn)。和 md5 碼一樣都是 hash 的。當(dāng)兩個(gè)文件內(nèi)容的 CRC32 相同的時(shí)候,這個(gè)文件也就是相同的。反之,兩個(gè)文件就是不同的文件。

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)

去重復(fù)

看到這里,想必都明白如何去重復(fù)文件了:

1. 用 glob.glob 掃描所有文件,

2. 把文件的 crc32 值放入字典中,

3. 找到字典中已經(jīng)存在的 crc32 值的key,刪除當(dāng)前文件。

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('已經(jīng)存在文件:' + crc32Dict.get(crc))
                print('重復(fù)文件:' + 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\**\*")    

總結(jié)

本篇介紹了 glob 模塊的用法和 crc32 值的計(jì)算,大家學(xué)廢了嗎

到此這篇關(guān)于Python幫你解決手機(jī)qq微信內(nèi)存占用太多問(wèn)題的文章就介紹到這了,更多相關(guān)Python qq微信內(nèi)存占用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python去除擴(kuò)展名的實(shí)例講解

    python去除擴(kuò)展名的實(shí)例講解

    下面小編就為大家分享一篇python去除擴(kuò)展名的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 使用django自帶的user做外鍵的方法

    使用django自帶的user做外鍵的方法

    這篇文章主要介紹了使用django自帶的user做外鍵的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法

    python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法

    今天小編就為大家分享一篇python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python實(shí)現(xiàn)登錄密碼重置簡(jiǎn)易操作代碼

    python實(shí)現(xiàn)登錄密碼重置簡(jiǎn)易操作代碼

    這篇文章主要介紹了python實(shí)現(xiàn)登錄密碼重置簡(jiǎn)易操作,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法小結(jié)【4種方法】

    Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法小結(jié)【4種方法】

    這篇文章主要介紹了Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法,結(jié)合實(shí)例形式總結(jié)分析了Python列表去重的4種實(shí)現(xiàn)方法,涉及Python針對(duì)列表的遍歷、判斷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • python中np是做什么的

    python中np是做什么的

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python中np的作用的相關(guān)文章,有興趣的朋友們跟著學(xué)習(xí)下。
    2020-07-07
  • 基于Python2、Python3中reload()的不同用法介紹

    基于Python2、Python3中reload()的不同用法介紹

    今天小編就為大家分享一篇基于Python2、Python3中reload()的不同用法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)經(jīng)典外星人游戲

    Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)經(jīng)典外星人游戲

    這篇文章主要介紹了通過(guò)Pygame實(shí)現(xiàn)經(jīng)典的外星人游戲的示例代碼,文中的代碼講解詳細(xì),對(duì)我們了解Pygame有一定的幫助,感興趣的同學(xué)可以試一試
    2022-01-01
  • Python smallseg分詞用法實(shí)例分析

    Python smallseg分詞用法實(shí)例分析

    這篇文章主要介紹了Python smallseg分詞用法,以實(shí)例形式分析了Python實(shí)現(xiàn)分析的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Python語(yǔ)言技巧之三元運(yùn)算符使用介紹

    Python語(yǔ)言技巧之三元運(yùn)算符使用介紹

    現(xiàn)在大部分高級(jí)語(yǔ)言都支持“?”這個(gè)三元運(yùn)算符(ternary operator),它對(duì)應(yīng)的表達(dá)式如下:condition ? value if true : value if false。很奇怪的是,這么常用的運(yùn)算符python居然不支持
    2013-03-03

最新評(píng)論