我试图使用python来复制文件/目录树。
是否可以使用copytree复制以foo结尾的所有内容?
有一个ignore_patterns patterns函数,我可以给它一个反正则表达式吗?它们在python中受支持吗?
如。
复制树(src,dest,false,ignore_pattern('!*Fo'')
哪里!意思不是以foo结尾的东西。
谢谢。

最佳答案

shutil.copytree有一个ignore keywordignore可以设置为任何可调用。给定被访问的目录和它的内容的列表,可调用的应该返回一个目录和文件名的序列将被忽略。
例如:

import shutil
def ignored_files(adir,filenames):
    return [filename for filename in filenames if not filename.endswith('foo')]

shutil.copytree(source, destination, ignore=ignored_files)

07-27 19:29