多个图片自动生成多个文件夹(以图片名命名)
源代码出自https://blog.csdn.net/weixin_38106878/article/details/90710267
原样子
效果
代码
# -*-coding: utf-8-*-
# Author: AIBC-MrH
# 该代码为数据处理用,根据照片的名字来生成文件夹;
# 并且将source_dir目录下同一类别的照片保存至对应的文件夹内;
import os
import shutil
from cv2 import cv2
source_dirs = 'data'
target_dirs = 'wenjian/'
def create_dir(source_file, target_dirs):
temp = []
temp1 = []
temp2 = []
img = os.listdir(source_file)
for name in img:
temp_line = name.split('_0')
temp.append(temp_line)
for j in range(len(temp)):
temp1.append(temp[j][0])
for name in temp1:
if name not in temp2:
temp2.append(name)
for dirs in temp2:
if os.path.exists(target_dirs + dirs):
break
else:
os.mkdir(target_dirs + dirs)
# copy图片到指定文件夹
dir_name = os.listdir(target_dirs)
name_temp = []
for dir in dir_name:
name_temp.append(dir)
for i in range(len(name_temp)):
for n in img:
pic = n.split('_0')
if pic[0] == name_temp[i]:
shutil.copy(source_dirs + '/' + n, target_dirs + name_temp[i])
return img
if __name__ == '__main__':
print('begin to clone pics')
dirs = create_dir(source_dirs, target_dirs)
print('finish copy !!!!!!!!!!')