以下是一个利用哈希值检查并提取两个文件夹内部所有重复文件的Python代码:

import os
import hashlib
import shutil

def get_file_hash(file_path):
    # 读取文件内容并计算哈希值
    with open(file_path, 'rb') as f:
        data = f.read()
        file_hash = hashlib.md5(data).hexdigest()
    return file_hash

def find_duplicate_files(folder1, folder2, output_folder):
    # 存储文件哈希值及对应路径
    hash_dict = {}

    # 遍历第一个文件夹
    for root, dirs, files in os.walk(folder1):
        for file in files:
            file_path = os.path.join(root, file)
            file_hash = get_file_hash(file_path)
            if file_hash in hash_dict:
                hash_dict[file_hash].append(file_path)
            else:
                hash_dict[file_hash] = [file_path]

    # 遍历第二个文件夹
    for root, dirs, files in os.walk(folder2):
        for file in files:
            file_path = os.path.join(root, file)
            file_hash = get_file_hash(file_path)
            if file_hash in hash_dict:
                hash_dict[file_hash].append(file_path)
            else:
                hash_dict[file_hash] = [file_path]

    # 提取重复文件到输出文件夹
    for hash_value, file_list in hash_dict.items():
        if len(file_list) > 1:
            for file_path in file_list:
                dest_path = os.path.join(output_folder, os.path.basename(file_path))
                shutil.copy2(file_path, dest_path)

# 示例用法
folder1 = 'path/to/folder1'
folder2 = 'path/to/folder2'
output_folder = 'path/to/output_folder'

find_duplicate_files(folder1, folder2, output_folder)

关于代码检测500GB大小的文件需要多长时间的问题,这取决于以下几个因素:

  1. 硬件性能:CPU、磁盘读写速度等硬件因素都会影响代码运行时间。
  2. 文件数量和大小:文件越多、越大,需要计算哈希值的时间就越长。
  3. 代码性能:代码的优化程度也会影响运行时间。

由于以上因素的影响,很难给出一个准确的时间估计。一般情况下,处理500GB大小的文件可能需要几个小时甚至更长时间

我需要一个利用哈希值检查并提取两个文件夹内部所有重复文件的python代码并将重复文件提取到单独的文件夹内告诉我这个代码检测500g大小的文件大概需要多长时间

原文地址: https://www.cveoy.top/t/topic/hMxH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录