您没有来错地!为了更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 存档 IT技术 查看内容

python3的文件去重

2018-3-30 13:00| 投稿: winskyer |来自: 互联网

摘要: 由于各种原因现在开始使用3.6来代替原来的2.7版本,在此分享一段Python3的文件去重代码。如下: import hashlibimport os class DirProc(): def __init__(self): self.main_dir = "C://software//导数据//mtm//img ...

由于各种原因现在开始使用3.6来代替原来的2.7版本,在此分享一段Python3的文件去重代码。如下:

import hashlib
import os


class DirProc():
def __init__(self):
self.main_dir = "C://software//导数据//mtm//imgs"

def md5(self, fname):
if os.path.exists(fname):
hash_md5 = hashlib.md5()
with open(fname, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()

def remove(self, fpath1, fpath2):
md51 = self.md5(fpath1)
md52 = self.md5(fpath2)
if md51 == md52:
os.remove(fpath1)
print("去重", fpath1)

def remove_duplicate(self):
dir_list = os.listdir(self.main_dir)
for name in dir_list:
sub_dir = self.main_dir "//" name;
file_list = os.listdir(sub_dir)
for fname in file_list:
for sub_fname in file_list:
if fname == sub_fname:
continue
f_dir = sub_dir "//" fname;
f_sub_dir = sub_dir "//" sub_fname;
self.remove(f_dir, f_sub_dir)


dirProc = DirProc()
dirProc.remove_duplicate()






小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新

返回顶部