Python distutils - 带过滤器的copy_tree

时间:2009-10-02 21:13:31

标签: python file distribution py2exe distutils

我想将数据目录复制到我的发行版目录中。 copy_tree这样做很好。但是,该项目也是一个svn存储库,我不希望该发行版具有数据目录所具有的所有.svn文件。有没有简单的方法来做copy_tree.svn个文件,或者我应该编写自己的递归目录副本?我觉得以前有人必须遇到这个问题。

2 个答案:

答案 0 :(得分:2)

我刚使用了shutil.copytree,它需要一个ignore kwd arg。

答案 1 :(得分:0)

尝试以下代码段:

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