12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # -*- 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()
|