import os
import cv2
import random
import shutil
# 获取文件夹名称
path = r't'
dirnames = [f for f in os.listdir(path) if os.path.isdir(path + '\\' + f)]
print(dirnames)
# 遍历文件夹
for dir_name in dirnames:
dir_path = path + '\\' + dir_name
print(dir_path)
# 创建新的文件夹
target_path = r'f2' + '\\' + dir_name + '\\'
if not os.path.exists(target_path):
os.makedirs(target_path)
pirpath = os.listdir(dir_path)
# 随机选取函数
sample = random.sample(pirpath, 2) # 随机选取一定数量的样本图片,这里选2个
print(sample)
# 保存图片到目标文件夹
for name in sample:
print(name)
shutil.copyfile(os.path.join(dir_path,name), os.path.join(target_path,name))
# copyfile复制的是文件
遇到最大的问题就是一开始在复制随机选取的图片到其他文件夹时,不能将图片路径和名字拼接在一起,后来用os.path.join将文件夹名字和图片名字拼接到一起了。
|