利用python整理重复的文件

发现硬盘里不少重复的文件,包括不同时期备份的手机照片,各种不同时间段下载学习视频:)

如果大文件很多,占用空间太多。必须清除。

写了脚本,遍历了硬盘,算出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 = []
    # 列出
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年椰子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值