Python实现文件级联复制 有更新!

使用场景:在Github Page上部署了一个静态博客(InkPaper),需要把生成的静态文件部署到page对应的仓库中,而又不能把源文件直接放到这里(会上传上千个多余的文件)。
其实是个很简单的脚本,就是利用递归函数复制每个文件夹下的所有文件,感觉比较实用所以在此做个记录分享

import os
import os.path

#使用反斜杠不是不可以,但是在下面代码的join后,他反映出来的路径使用\\写的造成了问题,故而在此保持了一致
import os
import os.path
import shutil

sourceDir="D:\\ink_blog\\blog\\public"
targetDir="D:\\ink_blog\\blog\\test"

def copyFiles(sourceDir,targetDir):
	for file in os.listdir(sourceDir): 
		sourceFile = os.path.join(sourceDir,  file) 
		targetFile = os.path.join(targetDir,  file)
		if os.path.isfile(sourceFile): 
		    open(targetFile, "wb").write(open(sourceFile, "rb").read())
		elif os.path.isdir(sourceFile):
			if(os.path.exists(targetFile)):
				shutil.rmtree(targetFile)
			os.mkdir(targetFile)
			copyFiles(sourceFile,targetFile)

copyFiles(sourceDir,targetDir)

参考博客: