我需要一个检查并提取两个独立文件夹内重复文件的python代码
以下是一个检查并提取两个独立文件夹内重复文件的Python代码示例:
import os
import filecmp
import shutil
def find_duplicate_files(folder1, folder2):
# 获取两个文件夹中的所有文件
files1 = get_all_files(folder1)
files2 = get_all_files(folder2)
# 初始化一个列表来存储重复文件
duplicate_files = []
# 遍历文件夹1中的所有文件
for file1 in files1:
# 检查文件是否存在于文件夹2中
for file2 in files2:
if filecmp.cmp(file1, file2):
# 如果文件相同,则将其添加到重复文件列表中
duplicate_files.append(file1)
break
return duplicate_files
def get_all_files(folder):
# 初始化一个列表来存储所有文件
all_files = []
# 遍历文件夹中的所有文件和子文件夹
for root, dirs, files in os.walk(folder):
for file in files:
# 获取文件的完整路径
file_path = os.path.join(root, file)
# 将文件路径添加到列表中
all_files.append(file_path)
return all_files
def move_duplicate_files(duplicate_files, destination_folder):
# 创建目标文件夹(如果不存在)
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
# 将重复文件移动到目标文件夹中
for file in duplicate_files:
# 获取文件名
file_name = os.path.basename(file)
# 构建目标文件路径
destination_path = os.path.join(destination_folder, file_name)
# 将文件移动到目标文件夹中
shutil.move(file, destination_path)
# 两个独立文件夹的路径
folder1 = '/path/to/folder1'
folder2 = '/path/to/folder2'
# 查找重复文件
duplicate_files = find_duplicate_files(folder1, folder2)
# 将重复文件移动到指定文件夹
destination_folder = '/path/to/duplicate_files'
move_duplicate_files(duplicate_files, destination_folder)
请将/path/to/folder1和/path/to/folder2替换为实际的文件夹路径,将/path/to/duplicate_files替换为希望将重复文件移动到的文件夹路径。该代码将遍历两个文件夹中的所有文件,并将重复文件移动到指定的目标文件夹中
原文地址: http://www.cveoy.top/t/topic/hMpk 著作权归作者所有。请勿转载和采集!