Python怎么解决手机qq微信内存占用太多问题
这篇文章主要介绍“Python怎么解决手机qq微信内存占用太多问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么解决手机qq微信内存占用太多问题”文章能帮助大家解决问题。
glob 模块glob 模块非常简单,就是用来查找文件和文件夹。查找文件只用到三个匹配符:"*", "?", "[]"。
通配符 功能
*:匹配0或多个字符
**:匹配所有文件,目录,子目录和子目录里面的文件
?:匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次)
[]:匹配指定范围内的字符,如: [1-9]匹配1至9内的字符
[!]:匹配不在指定范围内的字符
glob方法这个方法返回所有匹配的文件路径列表
#当前路径下所有py文件forfnameinglob.glob("**/*.py",recursive=True):print(fname)#当前路径文件py下py文件forfnameinglob.glob("py/*.py"):print(fname)#单字通配符?,当前路径文件下以Tem开头后有一个字符文件夹forfnameinglob.glob("Tem?"):print(fname)#范围通配符[],当前路径文件下以Tem开头后一个数字符的py文件forfnameinglob.glob("Tem[0-9].py"):print(fname)#范围通配符[!],当前路径文件下以Tem开头后一个非数字符的py文件forfnameinglob.glob("Tem[!0-9].py"):print(fname)windowns下file=glob.glob(r'D:\logs\*\*'zlib.crc32
CRC32 算法概述 CRC 全称 Cyclic Redundancy Check,又叫循环冗余校验。和 md5 码一样都是 hash 的。当两个文件内容的 CRC32 相同的时候,这个文件也就是相同的。反之,两个文件就是不同的文件。
defcrc32(file_path):withopen(file_path,'rb')asfh:hash=0whileTrue:s=fh.read(65536)ifnots:breakhash=zlib.crc32(s,hash)return"%08X"%(hash&0xFFFFFFFF)去重复
看到这里,想必都明白如何去重复文件了:
1. 用 glob.glob 扫描所有文件,
2. 把文件的 crc32 值放入字典中,
3. 找到字典中已经存在的 crc32 值的key,删除当前文件。
importosimportzlibimportglobdefscanning_floder(glob_path):crc32Dict={}forfnameinglob.glob(glob_path,recursive=True):ifos.path.isfile(fname):crc=crc32(fname)ifcrcincrc32Dict:print('已经存在文件:'+crc32Dict.get(crc))print('重复文件:'+fname)print('删除文件:'+fname)os.remove(fname)print('')else:crc32Dict[crc]=fnamedefcrc32(file_path):withopen(file_path,'rb')asf:hash=0whileTrue:s=f.read(1024)ifnots:breakhash=zlib.crc32(s,hash)return"%08X"%(hash&0xFFFFFFFF)scanning_floder(r"C:\Users\xxxx\Documents\WeChatFiles\xxxx\FileStorage\**\*")
关于“Python怎么解决手机qq微信内存占用太多问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。