天天看點

python實作從一個檔案夾下随機抽取一定數量的圖檔并移動到另一個檔案夾

import os, random, shutil


def moveFile(fileDir, tarDir):
    pathDir = os.listdir(fileDir)  # 取圖檔的原始路徑
    filenumber = len(pathDir)
    rate = 0.01  # 自定義抽取圖檔的比例,比方說100張抽10張,那就是0.1
    picknumber = int(filenumber * rate)  # 按照rate比例從檔案夾中取一定數量圖檔
    sample = random.sample(pathDir, picknumber)  # 随機選取picknumber數量的樣本圖檔
    print(sample)
    print(len(sample))
    for name in sample:
        shutil.move(fileDir + name, tarDir + name)


if __name__ == '__main__':
    fileDir = "F:/val_256/val_256/"  # 源圖檔檔案夾路徑
    tarDir = './train_images/'  # 移動到新的檔案夾路徑
    moveFile(fileDir, tarDir)