python 按文件名批量移動文件至指定文件夾

做貓狗分類任務,要求數據集劃分爲訓練集(training dataset)和驗證集(validation dataset),均包含dogs和cats兩個目錄,且每個目錄下包含與目錄名類別相同的RGB圖。數據集共25000張照片,其中訓練集貓狗照片各10000張,驗證集貓狗照片各2500張。但我下載的數據只有一個包含所有貓狗圖的文件夾,於是需要遍歷所有文件並且移動,代碼如下:

import os
import shutil

path = "C:\\Users\\Administrator\\Documents\\Python\\dnnlearn\\dogcat\\dataset"
src_dir = os.path.abspath(path + "\\train")
dst_dir = os.path.abspath(path + "\\dog")
cat_dir = os.path.abspath(path + "\\")
train__dir = os.path.abspath(src_dir + "\\train\\dog")

count = 0

if not os.path.exists(src_dir):#創建文件夾
    os.makedirs(src_dir)
#if not os.path.exists(train_cat_dir):
#    os.makedirs(train_cat_dir)

if os.path.exists(src_dir):
    for root, dirs, files in os.walk(src_dir):
        '''
        print("root:",root)#文件夾路徑
        print("dirs:",dirs)#文件夾名稱
        print("files:",files)#文件名
        '''
        for file in files:#遍歷每一個文件
            #filename = os.path.basename(file)#獲取文件名
            #if count <= 2500:
            dog_file = os.path.join(src_dir, file)#拼接得到文件路徑
            shutil.move(dog_file, dst_dir)#移動文件
#print(count)

Python遍歷文件好像是按照深度搜索進行的,有一個如下結構的文件夾:

遍歷結果爲:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章