python批量修改一个文件夹下含多个文件夹中的所有图片名称

网上能找到的,大多是只对一个文件夹下所有图片进行重命名的代码。

这边实现的是,一个文件夹下有多个文件夹内图片的重命名。

rename.py

#!/usr/bin/python
# -*- coding:utf-8 -*-


import os

outer_path = 'E:\\FFOutput\\sku_800'
folderlist = os.listdir(outer_path)  # 列举文件夹

for folder in folderlist:
    inner_path = os.path.join(outer_path, folder)
    total_num_folder = len(folderlist)  # 文件夹的总数
    print ('total have %d folders' % (total_num_folder))  # 打印文件夹的总数
    filelist = os.listdir(inner_path)  # 列举图片
    i = 0
    for item in filelist:
        total_num_file = len(filelist)  # 单个文件夹内图片的总数
        if item.endswith('.jpg'):
            src = os.path.join(os.path.abspath(inner_path), item)  # 原图的地址
            dst = os.path.join(os.path.abspath(inner_path), str(folder) + '_' + str(
                i) + '.jpg')  # 新图的地址(这里可以把str(folder) + '_' + str(i) + '.jpg'改成你想改的名称)
            try:
                os.rename(src, dst)
                print('converting %s to %s ...' % (src, dst))
                i += 1
            except:
                continue
    print('total %d to rename & converted %d jpgs' % (total_num_file, i))

更改 outer_path 要批量修改文件夹路径,修改后文件夹中每张图片重命名为文件夹名_num。例:

 

 

posted @ 2022-12-02 10:59  seven&night  阅读(556)  评论(1编辑  收藏  举报