前言
最近工作中UI经常会批量给到一批图片,一个商品一个文件夹,一个文件夹中有多张图片,人工修改图片名称耗费时间长,打算用python写一个自动批量修改文件名称的程序。
一、具体需求
多个文件夹,一个文件夹中有多个文件,对文件夹中的文件批量重命名,文件名称使用文件夹名称,多个文件后面加上序号_1、_2…
二、实现方法
代码如下:
import os
import shutil
folder_path = "D:图片/改名测试"
for folder_name in os.listdir(folder_path):
# 获取子文件夹的路径
subfolder_path = os.path.join(folder_path, folder_name)
if os.path.isdir(subfolder_path):
# 获取文件夹名称
prefix = folder_name
# 遍历子文件夹中的所有文件,使用enumerate函数给列表增加序号
for i, file_name in enumerate(os.listdir(subfolder_path)):
# 获取文件的路径
file_path = os.path.join(subfolder_path, file_name)
if os.path.isfile(file_path):
# 构造新文件名
new_file_name = prefix + "_" + f'{i + 1}' + ".jpg"
# print(new_file_name)
# 重命名文件
os.rename(file_path, os.path.join(subfolder_path, new_file_name))