在处理大量文件时,重复文件的存在不仅浪费存储空间,还可能造成数据不一致的问题。使用Python编写一个脚本,可以轻松扫描多个文件夹,自动识别并删除重复文件,从而提高工作效率。本文将详细介绍如何使用Py...
在处理大量文件时,重复文件的存在不仅浪费存储空间,还可能造成数据不一致的问题。使用Python编写一个脚本,可以轻松扫描多个文件夹,自动识别并删除重复文件,从而提高工作效率。本文将详细介绍如何使用Python实现这一功能。
在开始之前,请确保您的计算机已安装Python环境。您可以从Python官方网站下载并安装最新版本的Python。
os和hashlib模块我们将使用Python的os模块来遍历文件夹,以及hashlib模块来计算文件的哈希值,以此判断文件是否重复。
以下是一个简单的Python脚本,用于扫描指定文件夹及其子文件夹中的重复文件,并将其删除。
import os
import hashlib
def calculate_hash(file_path): """计算文件的MD5哈希值""" hash_md5 = hashlib.md5() with open(file_path, "rb") as f: for chunk in iter(lambda: f.read(4096), b""): hash_md5.update(chunk) return hash_md5.hexdigest()
def find_duplicate_files(root_dir): """查找并删除重复文件""" file_hash_dict = {} for root, dirs, files in os.walk(root_dir): for file in files: file_path = os.path.join(root, file) file_hash = calculate_hash(file_path) if file_hash in file_hash_dict: # 找到重复文件,删除其中一个 os.remove(file_hash_dict[file_hash]) else: file_hash_dict[file_hash] = file_path
if __name__ == "__main__": root_dir = input("请输入要扫描的根目录路径:") find_duplicate_files(root_dir) print("重复文件已删除。")calculate_hash 函数用于计算文件的MD5哈希值。find_duplicate_files 函数遍历指定文件夹及其子文件夹,对每个文件计算哈希值,并存储在file_hash_dict字典中。如果发现重复的哈希值,则删除其中一个文件。假设您有一个名为data的文件夹,其中包含重复的图片文件。您可以通过以下步骤使用脚本:
duplicate_finder.py。python duplicate_finder.py。data文件夹的路径。脚本将自动扫描data文件夹及其子文件夹,并删除重复的图片文件。
通过以上步骤,您可以使用Python轻松扫描多个文件夹,一键识别并删除重复文件,从而提高工作效率,告别冗余烦恼。