发现硬盘里不少重复的文件,包括不同时期备份的手机照片,各种不同时间段下载学习视频:)
如果大文件很多,占用空间太多。必须清除。
写了脚本,遍历了硬盘,算出MD5,看看有多少重复文件。本文只保存结果到excel 中, 可以自行增加判断重复的md5 即可删除。或者将文件移动到新目录中。代码中解决了 utf8 和 gbk编码的问题(windows 系统的文件名是gbk编码)
环境 python 2.7 + win7 64bit
# coding:utf-8
import os
import hashlib
import pandas as pd
def get_file_size(file_name_path):
# 获取文件的大小,结果保留两位小数,单位为MB
f_size = os.path.getsize(file_name_path)
f_size = f_size/float(1024*1024)
return round(f_size, 2)
def get_file_md5(filename):
if not os.path.isfile(filename):
return
my_hash = hashlib.md5()
f = open(filename, 'rb')
while True:
b = f.read(8096)
if not b:
break
my_hash.update(b)
f.close()
return my_hash.hexdigest()
def check_all_files(check_path):
list_files = []
# 列出