Python tarfile和排除

Python tarfile和排除,第1张

Python tarfile和排除

如果给出了exclude,则它必须是一个使用一个文件名参数并返回布尔值的函数。根据此值,相应文件被排除(真)或被添加(假)。

例如,如果要排除所有以字母“ a”开头的文件名,则可以执行以下 *** 作:

def exclude_function(filename):    if filename.startswith('a'):        return True    else:        return Falsemytarfile.add(..., exclude=exclude_function)

对于您的情况,您想要类似…

EXCLUDE_FILES = ['README', 'INSTALL', '.cvsignore']def exclude_function(filename):    if filename in EXCLUDE_FILES:        return True    else:        return Falsemytarfile.add(..., exclude=exclude_function)

…可以减少到…

EXCLUDE_FILES = ['README', 'INSTALL', '.cvsignore']mytarfile.add(..., exclude=lambda x: x in EXCLUDE_FILES)

更新资料

TBH,我不必担心过时警告,但是如果您想使用新

filter
参数,则需要类似…

EXCLUDE_FILES = ['README', 'INSTALL', '.cvsignore']def filter_function(tarinfo):    if tarinfo.name in EXCLUDE_FILES:        return None    else:        return tarinfomytarfile.add(..., filter=filter_function)

…可以减少到…

EXCLUDE_FILES = ['README', 'INSTALL', '.cvsignore']mytarfile.add(..., filter=lambda x: None if x.name in EXCLUDE_FILES else x)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存