python对图片或者文本文件重命名,主要用于处理数据集:
# -*- coding: utf-8 -*-
"""
使用该脚本需要注意,他会将重命
名后的文件全部放到保存的路径中
,所以最好先复制一份作为备份
"""
import os
def file_name(file_dir):
i = 1 #初始值
listnum = [] #用于记录下一个绝堆路径中文件的起始文件名
listnum.append(i)
for root, dirs, files in os.walk(file_dir): #输出各个知己路径下的各个文件夹下的绝对路径
print('root_dir:', root) # 当前目录路径
filelist = os.listdir(root)
total_num = len(filelist) #计算一个绝对路径中问价的数量
listnum.append(total_num)
for item in filelist:
if item.endswith('.xml'): #或者为.jpg
src = os.path.join(os.path.abspath(root), item)
if i > 999:
dst = os.path.join(os.path.abspath(r'D:\aaa\dataset\000\xml'), '00' + format(str(i), '0>3s') + '.xml') #原始路径
else:
dst = os.path.join(os.path.abspath(r'D:\aaa\dataset\000\xml'), '000' + format(str(i), '0>3s') + '.xml') #原始路径
os.rename(src, dst)
print('converting %s to %s ...' % (src, dst))
i = i + 1
print('total %d to rename & converted %d jpgs' % (total_num, i))
print(i)
listnum.append(i)
i = listnum[-1] + listnum[-2]
file_name(r'D:\aaa\dataset\000\xml') #保存路径