python批量移动图片文件
今天在Stack Overflow回答了问题:基于文件名称构建目录,并移动文件。
例如:
自动将’ABC2018081224.jpg’放入目标目录下的2018-08文件夹
问题分析:
第一步:找到给定类型的文件(flag参数控制文件类型):查找给定目录下的所有文件,匹配目标类型。可以只查找本目录下的文件(os.listdir),也可以递归的查找所有的子文件夹(os.walk);
第二步:匹配文件名称:构建合适的正则表达式,找的需要的文件;
第三步:移动文件:确定是否需要建立目录、目标目录中是否已有文件。
程序设计:
构建MoveFile类,其中包括findAllJPG方法、parse方法、move方法和run方法。将源目录、目标目录、recursive参数和flag参数传递给类的构造方法,调用run方法将flag和parse界定的文件从源目录移动到目标目录。
代码
from __future__ import print_function
import os, re, shutil
# 移动文件的MoveFile类
class MoveFile(object):
def __init__(self, srcDir, dstDir, recursive=False, flag='.JPG'):
self.srcDir = srcD