我想将一个数据目录复制到我的分发目录中。 copy_tree
可以很好地完成这个任务。然而,该项目也是一个 svn 仓库,我不希望分发目录中有数据目录中的所有 .svn 文件。有没有一种简单的方法可以排除 .svn
文件进行 copy_tree
,或者我应该编写自己的递归目录复制代码?我觉得肯定有人之前遇到过这个问题。
我想将一个数据目录复制到我的分发目录中。 copy_tree
可以很好地完成这个任务。然而,该项目也是一个 svn 仓库,我不希望分发目录中有数据目录中的所有 .svn 文件。有没有一种简单的方法可以排除 .svn
文件进行 copy_tree
,或者我应该编写自己的递归目录复制代码?我觉得肯定有人之前遇到过这个问题。
我刚刚使用了shutil.copytree
,它需要一个ignore
关键字参数。
尝试这段代码片段:
from distutils import file_util, dir_util
orig_copy_file = file_util.copy_file
orig_copy_tree = dir_util.copy_tree
def my_copy_file(src, *args, **kwargs):
if src.endswith('.ext'):
return
orig_copy_file(src, *args, **kwargs)
def my_copy_tree(src, *args, **kwargs):
if src.endswith('foldername'):
return []
return orig_copy_tree(src, *args, **kwargs)
file_util.copy_file = my_copy_file
dir_util.copy_tree = my_copy_tree