python 将一个文件夹中的多个文件复制到多个新建的文件夹中

前两天采集了一些数据,数据量2000多张图片,图像命名为0.jpg、1.jpg、2.jpg……为了分散标注和管理这些数据,新建一些文件夹,文件命名为0、1、2、3。。。,每个文件夹中存放500张图片,便于后期标注管理。

python 将一个文件夹中的多个文件复制到多个新建的文件夹中_第1张图片

     在存图像的文件夹的上一级目录,写python程序:

import os
import shutil

osDir=os.getcwd()
fileDir=osDir+"/all" #图像保存的路径
n=0
for image in os.listdir(fileDir):
    name,extension=os.path.splitext(image) #分离文件名字和后缀
    src=fileDir+"/"+image
    try:
       os.makedirs(osDir+"/"+"divert/"+str(int(name)//500),mode=0o777) #创建要保存的路径,/得到带小数点的结果,//只获取结果的整数部分,makedirs可创建定义的每级路径,makedirs在路径已存在时会报错,所以使用try,循环遇到路径已存在时pass
    except OSError:
       pass
    dst=osDir+"/"+"divert/"+str(int(name)//500)+"/"+image
    shutil.copyfile(src,dst)
    print(image+" is ok! %d images has been copied!"%(n))
    n=n+1

       /得到带小数点的结果,//只获取结果的整数部分,makedirs可创建定义的每级路径,makedirs在路径已存在时会报错,所以使用try,循环遇到路径已存在时pass。

       运行后22248张图片保存在45个文件夹中,除最后一个文件夹外,每个文件夹500张。

python 将一个文件夹中的多个文件复制到多个新建的文件夹中_第2张图片

  

你可能感兴趣的:(python)