使用场景:在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)
    

    参考博客: