重命名不同文件夹中具有相同名称的文件

时间:2018-07-20 14:56:32

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

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

文件夹:A123正面 FOR /F "tokens=5 delims= " %%X IN ('netstat -a -n -o ^| findstr 0.0.0.0:4200') DO TaskKill.exe /PID %%X /F

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

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

A123 Black.jpg , A123 Pink.jpg , A123 Red.jpg

请注意,A123是产品代码,因此我要使用产品编号带有大量图像的产品代码,并在产品代码后附加下划线。

这些文件在1000多个目录中,并且在子目录中,为方便起见,我对其进行了简化。

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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))