1、拷贝一个目录下的所有文件及文件夹到另一个目录下(递归拷贝)
# cat /home/test.py
#!/usr/bin/python
import os
import shutil
def copyFiles(sourceDir,targetDir): if sourceDir.find("exceptionfolder")>0: return for file in os.listdir(sourceDir): sourceFile = os.path.join(sourceDir,file) targetFile = os.path.join(targetDir,file) if os.path.isfile(sourceFile): if not os.path.exists(targetDir): os.makedirs(targetDir) if not os.path.exists(targetFile) or (os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))): open(targetFile, "wb").write(open(sourceFile, "rb").read()) print targetFile+" copy succeeded" if os.path.isdir(sourceFile): copyFiles(sourceFile, targetFile) copyFiles('/data/aa/','/data/bb')
2、拷贝一个文件夹下的所有文件(包含子目录下的文件)到另一目录
# cat /home/test.py
#!/usr/bin/python import os import shutil def copyFiles2(srcPath,dstPath): if not os.path.exists(srcPath): print "src path not exist!" if not os.path.exists(dstPath): os.makedirs(dstPath) for root,dirs,files in os.walk(srcPath): for eachfile in files: shutil.copy(os.path.join(root,eachfile),dstPath) print eachfile+" copy succeeded" copyFiles2('/data/aa/','/data/bb')