Python批量重命名图片的实现方法
引言
在日常的开发工作中,经常会遇到需要批量重命名图片的需求。当我们需要对大量图片进行整理、分类或修改时,手动一个一个地去修改文件名是非常繁琐和耗时的。幸运的是,利用Python的强大功能,我们可以编写简单的脚本来实现批量重命名图片的操作。本文将向刚入行的小白开发者介绍如何使用Python来实现这一功能。
整体流程
首先,让我们来看一下整个批量重命名图片的流程。下面是一个表格,展示了这个流程的详细步骤。
journey
title 批量重命名图片流程
section 创建新文件夹
section 遍历图片文件
section 生成新文件名
section 重命名图片文件
section 完成批量重命名图片
步骤1:创建新文件夹
在进行批量重命名之前,我们需要先创建一个新的文件夹来存放修改后的图片。这样做可以避免修改原始图片文件,同时也方便管理和查找。我们可以使用os
模块来进行文件夹的创建。下面是相应的代码和注释:
import os
# 创建新文件夹
def create_folder(folder_path):
"""
创建新文件夹
:param folder_path: 新文件夹路径
"""
if not os.path.exists(folder_path):
os.mkdir(folder_path)
print(f"成功创建新文件夹:{folder_path}")
else:
print("文件夹已存在")
步骤2:遍历图片文件
接下来,我们需要遍历原始文件夹中的所有图片文件。这里我们假设图片文件都是以.jpg
为后缀的,如果有其他后缀的图片文件,可以根据需要进行修改。我们可以使用os
模块的listdir
函数来获取文件夹中的所有文件,然后根据文件的后缀来筛选出图片文件。下面是相应的代码和注释:
import os
# 获取文件夹中的所有图片文件
def get_image_files(folder_path):
"""
获取文件夹中的所有图片文件
:param folder_path: 文件夹路径
:return: 图片文件列表
"""
image_files = []
for file_name in os.listdir(folder_path):
if file_name.endswith(".jpg"):
image_files.append(file_name)
return image_files
步骤3:生成新文件名
在进行重命名之前,我们需要生成每个图片文件的新文件名。这里我们可以根据图片文件的序号来生成新的文件名,例如image_001.jpg
、image_002.jpg
等等。我们可以使用字符串的format
方法来实现对文件名的格式化。下面是相应的代码和注释:
# 生成新文件名
def generate_new_filename(file_index):
"""
生成新文件名
:param file_index: 文件序号
:return: 新文件名
"""
return f"image_{file_index:03d}.jpg"
步骤4:重命名图片文件
现在我们已经有了新文件夹和新文件名,接下来就是实际进行重命名操作了。我们可以使用os
模块的rename
函数来将原始文件名修改为新的文件名。下面是相应的代码和注释:
# 重命名图片文件
def rename_image_files(folder_path, new_folder_path):
"""
重命名图片文件
:param folder_path: 原始文件夹路径
:param new_folder_path: 新文件夹路径
"""
image_files = get_image_files(folder_path)
for file_index, file_name in enumerate(image_files):
old_file_path = os.path.join(folder_path, file_name)
new_file_name = generate_new_filename(file_index + 1)
new_file_path = os.path.join(new_folder_path, new_file_name)
os.rename(old_file_path, new_file_path)
print(f"成功重命名文件:{file_name} -> {new_file_name}")