将文件夹中的文件随机抽取并均匀分配

代码部分

import os
import random
import shutil
path="img_from/"
img_list=os.listdir(path)

img_dst="save_img/"

k=0
threshold=2

while len(img_list)>=threshold:
    k+=1
    save_path=img_dst+"img_"+str(k)+"/" 
    os.mkdir(save_path)
    
    rs=random.sample(img_list,threshold)
    
    for j in rs:
        shutil.move(path+j,save_path)
    img_list=os.listdir(path)

代码结果

在这里插入图片描述

代码解释

path="img_from/"


img_dst="save_img/"

path为图片读取路径,
img_dst为图片保存路径

img_list=os.listdir(path)

上述代码遍历文件夹。返回每个文件的列表。

save_path=img_dst+"img_"+str(k)+"/" 
    os.mkdir(save_path)

每运行一轮旧创建一个新的文件夹来存储图片

rs=random.sample(img_list,threshold)
    
    for j in rs:
        shutil.move(path+j,save_path)
    img_list=os.listdir(path)

从img_list路径随机读取threshold(这里为2)个文件。 并且将其从img_list中move到save_path。
每一轮img_list将move一定数量。
继续更新img_list 直至减少到小于threshold则不在移动到新的文件夹。

你可能感兴趣的:(数据处理,python)