Python幫你解決手機qq微信內(nèi)存占用太多問題
導語:
哈嘍,哈嘍~大家有沒有遇到過這種情況,手機用著用著沒有內(nèi)存了,一到設置里面一看。
微信和 QQ 10G!
啊這。。。。。就離譜!好說,好說,設置中都有一個清除數(shù)據(jù)的功能,一鍵下去內(nèi)存暫時都回來了,但是寶,你確定你微信和QQ中的信息都沒用嗎?
?下面能小編就用 Python 寫個刪除重復文件的腳本清理這些微信和QQ空間。確保在清除內(nèi)存的時候,你的重要信息還在。
正文:
glob 模塊
glob 模塊非常簡單,就是用來查找文件和文件夾。查找文件只用到三個匹配符:"*", "?", "[]"。
通配符 功能
- *:匹配0或多個字符
- **:匹配所有文件,目錄,子目錄和子目錄里面的文件
- ?:匹配一個字符,這里與正則表達式? (正則?匹配前面表達式0次或者1次)
- []:匹配指定范圍內(nèi)的字符,如: [1-9]匹配1至9內(nèi)的字符
- [!]:匹配不在指定范圍內(nèi)的字符
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 開頭后一個數(shù)字符的 py 文件 for fname in glob.glob("Tem[0-9].py"): print(fname) # 范圍通配符[!],當前路徑文件下以 Tem 開頭后一個非數(shù)字符的 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,又叫循環(huán)冗余校驗。和 md5 碼一樣都是 hash 的。當兩個文件內(nèi)容的 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. 找到字典中已經(jīng)存在的 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('已經(jīng)存在文件:' + 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\**\*")
總結(jié)
本篇介紹了 glob 模塊的用法和 crc32 值的計算,大家學廢了嗎
到此這篇關于Python幫你解決手機qq微信內(nèi)存占用太多問題的文章就介紹到這了,更多相關Python qq微信內(nèi)存占用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法
今天小編就為大家分享一篇python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python實現(xiàn)去除列表中重復元素的方法小結(jié)【4種方法】
這篇文章主要介紹了Python實現(xiàn)去除列表中重復元素的方法,結(jié)合實例形式總結(jié)分析了Python列表去重的4種實現(xiàn)方法,涉及Python針對列表的遍歷、判斷、排序等相關操作技巧,需要的朋友可以參考下2018-04-04基于Python2、Python3中reload()的不同用法介紹
今天小編就為大家分享一篇基于Python2、Python3中reload()的不同用法介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Pygame實戰(zhàn)之實現(xiàn)經(jīng)典外星人游戲
這篇文章主要介紹了通過Pygame實現(xiàn)經(jīng)典的外星人游戲的示例代碼,文中的代碼講解詳細,對我們了解Pygame有一定的幫助,感興趣的同學可以試一試2022-01-01