重命名不同文件夹中的同名文件
rename the files with same names in different folders
我想将不同文件夹中的所有图像复制到一个文件夹中。但我面临的问题是不同文件夹中的文件具有相同的名称,例如
文件夹:A123 FrontA123 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 是产品代码,所以我想要带有图像数量的产品代码,该产品代码后跟下划线。
这些在 1000s 和 sub 子目录中,为了方便我已经简化了它。
我写了下面的代码,进入目录和子目录。
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')
但我不确定应该如何重命名。
要计算目标目录中现有文件的数量,您可以使用正则表达式或简单地使用列表理解,例如:
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))
我想将不同文件夹中的所有图像复制到一个文件夹中。但我面临的问题是不同文件夹中的文件具有相同的名称,例如
文件夹:A123 FrontA123 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 是产品代码,所以我想要带有图像数量的产品代码,该产品代码后跟下划线。
这些在 1000s 和 sub 子目录中,为了方便我已经简化了它。
我写了下面的代码,进入目录和子目录。
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')
但我不确定应该如何重命名。
要计算目标目录中现有文件的数量,您可以使用正则表达式或简单地使用列表理解,例如:
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))