用python删除重复文件并放入回收站

用python删除重复文件并放入回收站

1.需求

执行删除当前文件夹(就一层,没有子文件夹)里的重复文件,将文件移动到回收站。

2.实现

可以使用第三方库send2trash来实现。使用命令安装该库。

pip install send2trash

python代码如下。

import os
import hashlib
from send2trash import send2trash

def calculate_hash(file_path):
    with open(file_path, 'rb') as f:
        content = f.read()
        file_hash = hashlib.md5(content).hexdigest()
        return file_hash

def delete_duplicate_files():
    current_folder = os.getcwd()  # 获取当前文件夹路径
    
    hash_dict = {}
    
    for file_name in os.listdir(current_folder):
        file_path = os.path.join(current_folder, file_name)
        
        if os.path.isfile(file_path):
            file_hash = calculate_hash(file_path)
            
            if file_hash in hash_dict:
                print('删除重复文件:', file_path)
                send2trash(file_path)  # 移动文件到回收站
            else:
                hash_dict[file_hash] = file_path

delete_duplicate_files()

在上述代码中,我们导入了send2trash库,并使用send2trash(file_path)函数来将重复文件移动到回收站。

使用send2trash库可以更安全地删除文件,因为它提供了回收站的保护,可以在需要时还原已删除的文件。这样,你可以在删除文件后从回收站中恢复它们,而不是永久删除。

3.使用

命名python文件为删除重复文件.py,只需要在需要删除重复文件的目录下执行以下命令,就会去重并放入回收站。

python 删除重复文件.py
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PerCheung

觉得有帮助的话就打赏支持一下吧

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

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

打赏作者

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

抵扣说明:

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

余额充值