这里展示的是一个文件夹内视频或者图片去重
import hashlib
import subprocess
import sys, os
_FILE_SLIM=100*1024*1024
def File_md5(filepath):
calltimes = 0
hmd5 = hashlib.md5()
fp = open(filepath, "rb")
f_size = os.stat(filepath).st_size
if f_size > _FILE_SLIM:
while (f_size > _FILE_SLIM):
hmd5.update(fp.read(_FILE_SLIM))
f_size /= _FILE_SLIM
calltimes += 1
if (f_size > 0) and (f_size <= _FILE_SLIM):
hmd5.update(fp.read())
else:
hmd5.update(fp.read())
# print(hmd5.hexdigest())
return hmd5.hexdigest()
if __name__ == '__main__':
##在这里修改文件夹地址就可以运行
file = r'C:\Users\v_fxfxfang\Desktop\sa'
files_list = os.listdir(file)
md5_list = []
#重复视频得数量
a = 1
for file_name in files_list:
file_path = os.path.join(file,file_name)
md5 = File_md5(file_path)
if md5 in md5_list:
os.remove(file_path)
print('有%s个视频重复,已删除' % a)
a += 1
continue
md5_list.append(md5)
这是运行后的效果:
###欢迎留言, 有用就点个赞再走吧