前两天采集了一些数据,数据量2000多张图片,图像命名为0.jpg、1.jpg、2.jpg……为了分散标注和管理这些数据,新建一些文件夹,文件命名为0、1、2、3。。。,每个文件夹中存放500张图片,便于后期标注管理。
在存图像的文件夹的上一级目录,写python程序:
import os
import shutil
osDir=os.getcwd()
fileDir=osDir+"/all" #图像保存的路径
n=0
for image in os.listdir(fileDir):
name,extension=os.path.splitext(image) #分离文件名字和后缀
src=fileDir+"/"+image
try:
os.makedirs(osDir+"/"+"divert/"+str(int(name)//500),mode=0o777) #创建要保存的路径,/得到带小数点的结果,//只获取结果的整数部分,makedirs可创建定义的每级路径,makedirs在路径已存在时会报错,所以使用try,循环遇到路径已存在时pass
except OSError:
pass
dst=osDir+"/"+"divert/"+str(int(name)//500)+"/"+image
shutil.copyfile(src,dst)
print(image+" is ok! %d images has been copied!"%(n))
n=n+1
/得到带小数点的结果,//只获取结果的整数部分,makedirs可创建定义的每级路径,makedirs在路径已存在时会报错,所以使用try,循环遇到路径已存在时pass。
运行后22248张图片保存在45个文件夹中,除最后一个文件夹外,每个文件夹500张。