【问题标题】:rename the files with same names in different folders重命名不同文件夹中同名的文件
【发布时间】:2018-12-28 22:15:46
【问题描述】:

我想将不同文件夹中的所有图像复制到一个文件夹中。但我面临的问题是不同文件夹中的文件具有相同的名称,例如

文件夹:A123 正面 A123 Black.jpg , A123 Pink.jpg , A123 Red.jpg

文件夹:A123 返回 A123 Black.jpg , A123 Pink.jpg , A123 Red.jpg

我想要实现的是一个文件夹中的所有文件并命名为,

A123_1.jpg ,A123_2.jpg , A123_3.jpg , A123_4.jpg , A123_5.jpg , A123_6.jpg

注意,A123 是产品代码,所以我想要带有图像数量的产品代码,该产品代码带有下划线。

这些在 1000 和子子目录中,为方便起见,我对其进行了简化。

我已经编写了以下代码,进入目录和子目录。

import os
def replace(folder_path): 
    for path, subdirs, files in os.walk(folder_path):
       c=len(files)
       for name in files:
           if 'Thumb' in name:
               continue

            file_path = os.path.join(path,name)
            print(file_path)
            new_name = os.path.join(path,strname)
            os.rename(file_path,strname)
            c-=1


print('Starting . . . ')
replace('files/GILDAN')

但我不确定应该如何重命名。

【问题讨论】:

    标签: python python-3.x file renaming python-os


    【解决方案1】:

    要计算目标目录中现有文件的数量,您可以使用正则表达式或简单地使用列表推导,例如:

    image_no = len([i for i in os.listdir(destination_path) if i.startswith(product_code)])
    

    使用image_no 在重命名命令中设置图像编号:

    os.rename(file_path, product_code + '_' + str(image_no))
    

    【讨论】:

      猜你喜欢
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 2013-06-21
      • 2015-01-04
      • 2015-05-10
      • 2020-01-13
      • 2016-02-05
      • 1970-01-01
      相关资源
      最近更新 更多