Python distutils - 使用过滤器的copy_tree

3

我想将一个数据目录复制到我的分发目录中。 copy_tree 可以很好地完成这个任务。然而,该项目也是一个 svn 仓库,我不希望分发目录中有数据目录中的所有 .svn 文件。有没有一种简单的方法可以排除 .svn 文件进行 copy_tree,或者我应该编写自己的递归目录复制代码?我觉得肯定有人之前遇到过这个问题。


有没有不使用data_files或package_data的原因? - merwok
2个回答

3

我刚刚使用了shutil.copytree,它需要一个ignore关键字参数。


1

尝试这段代码片段:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接