我想将不同文件夹中的所有图像复制到一个文件夹中。但是我面临的问题是不同文件夹中的文件具有相同的名称,例如
文件夹: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
但是我不确定应该如何重命名。
答案 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))