Python批量合并多个文件夹图片并按顺序命名
Python批量合并多个文件夹图片并按顺序命名
如果你有大量的图片分散在多个文件夹中,需要将它们合并到一个文件夹并按顺序命名,Python可以帮助你轻松完成这项任务。
问题描述
假设你有6个文件夹,每个文件夹包含330张图片,所有图片命名格式为'数字.jpg'。你需要将这6个文件夹中的所有图片合并到一个文件夹中,并按照顺序命名,例如第二个文件夹中的第一张图片命名为'331.jpg',以此类推。
解决方案
以下Python代码可以帮助你完成图片合并和重命名操作:pythonimport osimport shutil
设置输入文件夹和输出文件夹路径input_folder_paths = ['folder1', 'folder2', 'folder3', 'folder4', 'folder5', 'folder6']output_folder_path = 'merged_folder'
创建输出文件夹os.makedirs(output_folder_path, exist_ok=True)
初始化图片计数器image_counter = 1
遍历每个输入文件夹for folder_path in input_folder_paths: # 获取文件夹中的图片文件列表 image_files = sorted([f for f in os.listdir(folder_path) if f.endswith('.jpg')])
# 遍历每个图片文件 for image_file in image_files: # 构建输入和输出文件的完整路径 input_file_path = os.path.join(folder_path, image_file) output_file_path = os.path.join(output_folder_path, str(image_counter) + '.jpg')
# 复制图片文件到输出文件夹,并重命名 shutil.copy(input_file_path, output_file_path)
# 更新图片计数器 image_counter += 1
print('合并完成!')
代码解释
-
导入必要的库: -
os: 用于处理文件和文件夹操作。 -shutil: 用于文件复制和移动等高级操作。 -
设置输入和输出路径: - 将
input_folder_paths列表中的文件夹路径替换为实际的文件夹路径。 - 将output_folder_path替换为你想要保存合并后图片的文件夹路径。 -
创建输出文件夹: - 使用
os.makedirs(output_folder_path, exist_ok=True)创建输出文件夹,如果文件夹已存在则不会报错。 -
遍历输入文件夹: - 使用循环遍历
input_folder_paths列表中的每个文件夹。 -
获取图片文件列表: - 使用
os.listdir(folder_path)获取文件夹中所有文件的列表。 - 使用列表推导式筛选出以'.jpg'结尾的图片文件,并使用sorted()函数对文件名进行排序。 -
复制和重命名图片: - 使用嵌套循环遍历每个图片文件。 - 使用
os.path.join()构建输入和输出文件的完整路径。 - 使用shutil.copy(input_file_path, output_file_path)将图片文件复制到输出文件夹,并按照顺序命名。 - 使用image_counter变量跟踪图片的顺序,并在每次复制后递增。 -
打印完成信息: - 当所有图片复制完成后,打印'合并完成!'信息。
如何使用
- 将代码保存为Python文件(例如
merge_images.py)。2. 修改代码中的输入文件夹路径、输出文件夹路径和图片扩展名(如果需要)。3. 打开终端或命令提示符,并导航到保存Python文件的目录。4. 运行命令python merge_images.py。
希望这个解决方案能够帮助你高效地合并和重命名多个文件夹中的图片!
原文地址: https://www.cveoy.top/t/topic/XNd 著作权归作者所有。请勿转载和采集!