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 shutildef 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')