写一段python脚本,将文件夹中的文件根据文件名称、属性或者时间将文件分成几个不同种类,并保存到设定好的文件夹中。在这里需要用到几个模块。
- os模块。主要使用该模块的两个功能,一是检查涉及到的文件夹是否存在,如不存在给出解决方案,停止运行或者新建文件 夹。二是listdir(path)提取源文件夹中的文件目录列表,可遍历此列表实现对文件夹中文件的遍历。
- shutil模块。该模块的shutil.move(srcpath, dstpath)用来移动文件,shutil.copyfile(srcfile, dstfile)用来复制文件。
# -*- coding: utf-8 -*-
from os import listdir
import shutil
import os
# dic for format <----> dstdir
formatDic = {'jpg': 'original', 'png': "mask"}
# divide image by format
def divideImage(inputDir, outputPath):
fileList = listdir(inputDir)
for file in fileList:
fileformat = file.strip().split('.')[1]
if fileformat in formatDic.keys():
dstpath = outputPath + '/' + formatDic[str(fileformat)]
if not os.path.exists(dstpath):
os.makedirs(dstpath)
dstpath = dstpath + '/' + file
srcpath = inputDir + '/' + file
shutil.move(srcpath, dstpath)
# divideImage('/Users/yuanl/Desktop/test', '/Users/yuanl/Desktop')
# match diff dic image by image name
# srcDic: 打码的文件夹 jpg
# original:没打码的包含所有图片文件夹 jpg
# outputDic: 输出文件夹
def matchImage(srcDic, originalDic, outputDic):
srcList = listdir(srcDic)
if not os.path.exists(outputDic):
os.mkdir(outputDic)
for file in srcList:
shutil.copyfile(originalDic+'/'+file, outputDic+'/'+file)