我试图使用python来复制文件/目录树。
是否可以使用copytree复制以foo结尾的所有内容?
有一个ignore_patterns patterns函数,我可以给它一个反正则表达式吗?它们在python中受支持吗?
如。
复制树(src,dest,false,ignore_pattern('!*Fo'')
哪里!意思不是以foo结尾的东西。
谢谢。
最佳答案
shutil.copytree
有一个ignore
keyword。ignore
可以设置为任何可调用。给定被访问的目录和它的内容的列表,可调用的应该返回一个目录和文件名的序列将被忽略。
例如:
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)