我正在用 python 编写一个脚本来将不同文件夹中的图像合并到一个文件夹中。可能存在多个具有相同名称的图像文件。如何在python中处理这个?我需要像这样用“image_name_0001”、“image_name_0002”重命名那些。
问问题
82 次
2 回答
2
您可以维护一个dict
到目前为止已经看到的名称的计数,然后用于os.rename()
将文件重命名为这个新名称。
例如:
dic = {}
list_of_files = ["a","a","b","c","b","d","a"]
for f in list_of_files:
if f in dic:
dic[f] += 1
new_name = "{0}_{1:03d}".format(f,dic[f])
print new_name
else:
dic[f] = 0
print f
输出:
a
a_001
b
c
b_001
d
a_002
于 2013-05-14T15:23:12.940 回答
0
如果你有根文件名,即 name = 'image_name',扩展名,extension = '.jpg' 和输出文件夹的路径,path,你可以这样做:
*for each file*:
moved = 0
num = 0
if os.path.exists(path + name + ext):
while moved == 0:
num++
modifier = '_00'+str(num)
if not os.path.exists(path + name + modifier + extension):
*MOVE FILE HERE using (path + name + modifier + extension)*
moved = 1
else:
*MOVE FILE HERE using (path + name + ext)*
那里显然有几段伪代码,但你应该明白要点
于 2013-05-14T15:27:30.163 回答