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