前兩天採集了一些數據,數據量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張。