Python 将文件夹中的图片按一定数量分组批量复制到新的文件夹
为应对,百度网盘每次上传文件不能超过300个,小文件,可用此程序实现分组

#!/usr/bin/env python
# encoding: utf-8

import os, glob
from shutil import copy


def copyFile(file_path, save_dir, count, dir_name):
        #i是用来计算文件的数量,k是用来计算新建文件夹的数量
        i = 0
        k = 0

        #如果目录不存在,则创建
        if not os.path.isdir(save_dir):
                os.makedirs(save_dir)

        #通过glob.glob来获取原始路径下,所有'.jpg'文件
        imageList = glob.glob(os.path.join(file_path, '*.jpg'))

        for allImgDir in imageList:
                print(allImgDir)
                #获取文件名称(包括后缀)
                imgDir = os.path.basename(allImgDir)
                print(imgDir)
                #更改jpg文件后缀为ans
                (temp1, temp2) = os.path.splitext(imgDir)
                ansDir = temp1 + '.ans'

                #拼接路径与文件名
                from_imgPath = file_path+'/'+imgDir
                from_ansPath = file_path+'/'+ansDir
                #新建的文件夹
                to_path = save_dir + "\\" + dir_name + str(k)

                # 如果 to_path 目录不存在,则创建
                if not os.path.isdir(to_path):
                        os.makedirs(to_path)
                copy(from_imgPath, to_path)
                if os.path.exists(from_ansPath):
                        #将ans文件遍历复制到目标文件夹中
                        copy(from_ansPath, to_path)
                i += 1
                if((i%count) == 0):
                        print('新建一个文件夹')
                        k += 1

if __name__ == '__main__':
        inputfile = input('请输入想要拆分的文件夹路径(如:E:/input/):')
        outfile = input('请输入想保存的根目录(如:E:/666/):')
        count = int(input('请输入分组的数量(如:2):'))
        dir_name = input('请输入想保存的文件名字(如:图片):')
        #指定找到文件后,另存为的文件夹路径
        save_dir = os.path.abspath(outfile)
        #指定文件的原始路径
        file_path = os.path.abspath(inputfile)
        copyFile(file_path, save_dir, count, dir_name)

参考这:
https://www.cnblogs.com/xuchen163/p/12786877.html

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐