다른 경로에 폴더에있는 파일의 복수를 얻을 파이썬 임의 복제

그 문제의 위험이 모델 검증 스크립트 데이터의 무작위로 선택된 세트로 복사하고 수동으로 구현 붙여하지만 이후 인해 가정 아이들의 유행에 너무 지루한을 플러스 할 수 있습니다했을 경우, 프로그램을 작성,이 쓰기 블로그 게시물은 정말 Gansha을 모르기 때문에, 그들은 그것을 쓰기 부담없이 지루한된다.

내가하고 싶은 것은 무작위로 각각 다른 경로로 이미지를 복사 개의 선택한 다음 폴더입니다

import os, random, shutil

firstdir = 'C:/Users/10791/Desktop/数据集/ExDark/'#要复制文件所在路径
tardir = 'D:/Anaconda/py代码/test/'#想要复制到的路径
pathdir = os.listdir(firstdir)#获取所在路径下的所有文件
path1 = pathdir[:-1]#这里我不需要最后一个文件夹,把它剔除掉
#把路径和文件夹名字合到一起
path = []
for path2 in path1:
    path.append(firstdir + path2)

k = 0#用来作为文件夹名字也就是图像类别的key
for i in path:
    j = 0#因为不能重复命名,所以在文件名后加一个j来区分
    sample = random.sample(os.listdir(i), 2)#随机从每个类别文件夹中选取2张图片
    for name in sample:#对每个选出的文件做复制和重命名操作
        j += 1
        cut = name.split('.')#由于文件后缀不一样,所以在这里用切分来获取文件后缀名
        shutil.move(i+'/'+name, tardir+'/'+name)#复制操作
        os.rename(tardir+'/'+name,tardir+'/'+path1[k]+str(j)+'.'+cut[1])#重命名为类别(path1[k])的第几张(j)图片.后缀(cut[1])
    k += 1
  

결과는 다음과 같다 :

게시 72 개 원래 기사 · 원 찬양 37 ·은 15 만 + 조회수

추천

출처blog.csdn.net/xspyzm/article/details/104255136