python删除本地夹里重复文件的方法

当我们在日常的工作中,特别是处理大量文件的时候,经常会出现本地文件夹里有大量重复的文件。如何在Python中快速的删除这些重复文件呢?本文将介绍利用Python删除本地夹里重复文件的方法。

步骤

  1. 遍历文件夹:利用Python的os模块,遍历文件夹中的所有文件,得到每个文件的路径及其文件名。

  2. 计算文件哈希值:对于每个文件,计算它的哈希值。如果两个文件的哈希值相同,则可以认为它们是两个相同的文件。

  3. 删除重复文件:当发现某两个文件哈希值相同时,就将其中一个文件删除即可。

代码示例:

以下代码示例是基于Windows操作系统的示例,计算文件哈希值使用了Python的hashlib库,删除文件使用了os模块的remove函数。

import os
import hashlib

def get_md5(filename, chunk_size=4096):
    '''
    计算文件的MD5值
    '''
    with open(filename, 'rb') as f:
        md5 = hashlib.md5()
        while True:
            chunk = f.read(chunk_size)
            if not chunk:
                break
            md5.update(chunk)
        return md5.hexdigest()

def remove_duplicate_files(folder):
    '''
    删除指定文件夹中的重复文件
    '''
    unique_files = {} # 存储文件哈希值和路径的字典
    for root, dirs, files in os.walk(folder):
        for filename in files:
            path = os.path.join(root, filename)
            md5 = get_md5(path)
            if md5 in unique_files:
                # 如果文件哈希值存在,则说明是重复文件,删除之
                print('Removing duplicate file:', path)
                os.remove(path)
            else:
                # 如果文件哈希值不存在,则将其加入unique_files字典
                unique_files[md5] = path

# 删除指定文件夹中的重复文件
remove_duplicate_files(r'C:\Users\Administrator\Downloads')

在上述代码中,我们通过遍历指定文件夹中的所有文件,并计算每个文件的哈希值。对于哈希值相同的文件,我们利用remove函数将其中一个文件删除。

另外一个示例是使用Python的set进行判断,利用os模块的remove函数进行删除:

import os

def remove_duplicate_files(folder):
    '''
    删除指定文件夹中的重复文件
    '''
    files = set() # 存储文件名和大小的字典
    for root, dirs, filenames in os.walk(folder):
        for filename in filenames:
            path = os.path.join(root, filename)
            size = os.path.getsize(path)
            file_info = (filename, size)
            if file_info in files:
                # 如果文件名和大小都相同,则说明是重复文件,删除之
                print('Removing duplicate file:', path)
                os.remove(path)
            else:
                # 如果文件名和大小不同,则将其加入files集合
                files.add(file_info)

# 删除指定文件夹中的重复文件
remove_duplicate_files(r'C:\Users\Administrator\Downloads')

总结

以上两个示例给出了两种不同的方式实现Python删除本地夹里重复文件的方法。通过遍历文件夹,计算文件的哈希值或者利用集合来判断文件名和大小是否相同,可以快速删除本地文件夹中的重复文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python删除本地夹里重复文件的方法 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python中的元类编程入门指引

    下面我会详细讲解关于“Python中的元类编程入门指引”的完整攻略。 元类的定义 元类(Metaclass)在Python中是一种高级的编程技巧,它指的是类的类,即类是从元类生成的对象。元类掌管着创建类的一整套流程,也就是说,元类可以控制实例化、属性、方法等的创建过程。 通常情况下,我们使用的都是Python内置的type这个元类,每当我们定义一个类时,Py…

    python 2023年6月2日
    00
  • python随机模块random的22种函数(小结)

    Python随机模块random的22种函数(小结) Python的random模块提供了许多用于生成随机数的函数。本文将介绍random模块的22种函数,包括生成随机整数、随机浮点数、随序列、随机字符串等。每个函数都提供了详细的说明和示例代码,方便读者学习和实践。 1. random.random() random.random()函数用于生成一个0到1之…

    python 2023年5月13日
    00
  • python 字典常用方法超详细梳理总结

    Python 字典常用方法超详细梳理总结 概述 Python 的字典是一种无序、可变的集合类型,可以存储键值对,支持以下常用方法: 创建字典 访问字典中的值 更新字典 删除元素 字典长度 字典合并 字典键值遍历 下面我们分别来详细讲解每个方法的使用。 创建字典 使用花括号创建字典: dic = {‘key1’: ‘value1’, ‘key2’: ‘valu…

    python 2023年5月13日
    00
  • python 获取字典特定值对应的键的实现

    Python 字典是一种无序的可变容器,可存储任意类型对象。当我们需要查找特定的值时,有时需要获取该值对应的键。以下是获取字典特定值对应的键的实现攻略。 通过遍历方式获取键 第一种获取字典特定值对应键的实现方法是通过遍历方式进行查找。具体步骤如下: 遍历字典中的所有键值对,可以通过 for 循环实现: for key, value in dict.items…

    python 2023年6月3日
    00
  • 如何在 Python 3.7 中提取字符串开头的数字?

    【问题标题】:How do I extract the number at the beginning of a string in Python 3.7?如何在 Python 3.7 中提取字符串开头的数字? 【发布时间】:2023-04-04 17:24:01 【问题描述】: 我正在使用 Python 3.7。我很难从字符串的开头提取数字。字符串是从 H…

    Python开发 2023年4月6日
    00
  • Python实现的双色球生成功能示例

    首先,我们来介绍一下如何实现双色球随机生成的功能。本文使用Python实现。 确定双色球的范围 双色球的红球范围为1-33,蓝球范围为1-16。我们可以通过常量来定义这个范围。 RED_RANGE = range(1, 34) BLUE_RANGE = range(1, 17) 随机生成双色球的号码 我们可以借助Python的random模块来实现双色球号码…

    python 2023年6月3日
    00
  • Python如何对XML 解析

    XML是一种常见的数据格式,用于在不同的应用程序之间传输数据。Python提供了多种解析XML的方法,包括ElementTree、minidom和SAX等。以下是Python如何对XML解析的完整攻略,包含两个示例。 示例1:使用ElementTree解析XML 以下是一个示例,可以使用ElementTree解析XML: import xml.etree.E…

    python 2023年5月15日
    00
  • Python进阶教程之创建本地PyPI仓库

    下面给出创建本地PyPI仓库的完整攻略,具体步骤如下: 第一步:安装并配置twine库 twine库是PyPI官方提供的一个上传Python项目的工具,我们需要先安装这个库,并且配置好自己的PyPI账号。 安装:在命令行中输入以下命令:pip install twine 配置账号:在命令行中输入以下命令,按照提示输入自己的PyPI用户名和密码即可: twin…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部