【问题标题】:Python distutils - copy_tree with filterPython distutils - 带有过滤器的 copy_tree
【发布时间】:2009-10-02 21:13:30
【问题描述】:

我想将一个数据目录复制到我的分发目录中。 copy_tree 做得很好。但是,该项目也是一个 svn 存储库,我不希望发行版包含数据目录拥有的所有 .svn 文件。除了.svn 文件之外,是否有任何简单的方法来执行copy_tree,或者我应该只编写自己的递归目录副本?我觉得以前一定有人遇到过这个问题。

【问题讨论】:

  • 有什么理由不使用 data_files 或 package_data?

标签: python file distribution py2exe distutils


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试这个代码 sn-p:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 2023-02-26
      相关资源
      最近更新 更多