比较两个文件夹中的图片如果大小相同文件名可能不同则将两个图片都记录下来记录完后再将这些图片再移动到新目录。使用for循环遍历时注意移动路径后可能会导致原文件路径找不到而发生报错
以下是Python代码示例,实现了比较两个文件夹中的图片,记录相同大小的图片,并将它们移动到新目录。
import os
import shutil
from PIL import Image
# 定义函数,比较两个图片文件的大小是否相同
def compare_images(file1, file2):
img1 = Image.open(file1)
img2 = Image.open(file2)
return img1.size == img2.size
# 设置源文件夹路径和目标文件夹路径
folder1 = 'path/to/folder1'
folder2 = 'path/to/folder2'
output_folder = 'path/to/output_folder'
# 遍历第一个文件夹中的图片
for file1 in os.listdir(folder1):
if file1.endswith(".jpg") or file1.endswith(".png"):
# 获取图片的完整路径
file1_path = os.path.join(folder1, file1)
# 遍历第二个文件夹中的图片
for file2 in os.listdir(folder2):
if file2.endswith(".jpg") or file2.endswith(".png"):
# 获取图片的完整路径
file2_path = os.path.join(folder2, file2)
# 比较两个图片的大小
if compare_images(file1_path, file2_path):
# 记录相同大小的图片
with open('duplicate_images.txt', 'a') as f:
f.write(f"{file1_path} - {file2_path}\n")
# 移动图片到新目录
try:
shutil.move(file1_path, output_folder)
shutil.move(file2_path, output_folder)
except FileNotFoundError as e:
print(f"文件路径找不到:{e}")
请根据实际需求修改代码中的文件夹路径和文件类型后缀(目前只考虑了.jpg和.png文件),以及新目录的路径
原文地址: http://www.cveoy.top/t/topic/ibFY 著作权归作者所有。请勿转载和采集!