# -*- coding: utf-8 -*- from math import floor import os import shutil import subprocess #检查是否存在目录,没有则创建 def checkDirectoryOrCreate(dir): if not os.path.exists(dir): os.makedirs(dir) #比较name中是否在suffix格式列表里 #suffix为list,例如:['.png', '.mp3'],如suffix为None或者大小为0则直接返回True def __validExtension(name, suffix): if None == suffix: return True if len(suffix) <= 0: return True name = name.lower() for suffixTemp in suffix: if name.endswith(suffixTemp.lower()): return True return False #查找目录下指定类型的文件,忽略大小写 #suffixList(数组)指定文件拓展名,例如:findFiles('../dir', False, ['.png', '.mp3']),如suffix为None或者大小为0则不过滤任何格式 def findFiles(directory, includeChild, suffixList): ret = [] if includeChild: for root, dirs, files in os.walk(directory): for name in files: if name.startswith('.'): continue if None == suffixList: temp = os.path.join(root, name) ret.append(temp) continue for suffixTemp in suffixList: if name.lower().endswith(suffixTemp.lower()): temp = os.path.join(root, name) ret.append(temp) break else: dirList = os.listdir(directory) for name in dirList: if name.startswith('.'): continue if None == suffixList: temp = os.path.join(directory, name) ret.append(temp) continue for suffixTemp in suffixList: if name.lower().endswith(suffixTemp.lower()): temp = os.path.join(directory, name) ret.append(temp) break return ret #搜集directory下的文件,拷贝到tarDirectory目录,注意tarDirectory里不保持与directory相同的目录结构 #suffix(数组)指定文件拓展名,例如:copyFilesToDirectory('../dir', False, ['.png', '.mp3']),如suffix包含‘.*’则不过滤任何格式 def copyToDirectory(directory, tarDirectory, includeChild, suffix): allFiles = findFiles(directory, includeChild, suffix) for curFile in allFiles: _, desFileName = os.path.split(curFile) desFile = os.path.join(tarDirectory, desFileName) shutil.copyfile(curFile, desFile) print(os.path.abspath(curFile)) return len(allFiles) def isDir(path): if os.path.exists(path): return True return False def isFile(path): if os.path.isfile(path): return True def writeToFile(content, output): fileHandle = open(output,'w') fileHandle.write(content+'\n') fileHandle.close()