gpt4 book ai didi

python - 使用 shutil.make_archive() 创建存档同时排除某些路径

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:05 24 4
gpt4 key购买 nike

有没有办法让 shutil.make_archive 排除一些子目录,或者有没有办法通过 shutil 将目录附加到单个存档?

例子很有趣:

/root
/workingDir
/dir1
/dir2
/dirA
/dirB
/dir3

假设我想从 workingDir 中创建一个存档,其中包含 dirA 的所有内容——我该怎么做?不写遍历整棵树的方法是否可行?

最佳答案

我认为直接使用 shutil 是不可能的。可以使用 tarfile 来完成(反正 shutil 在内部使用它)

Tarfile.add有一个过滤器参数,您可以精确地用于此目的。

另请参阅此答案:Python tarfile and excludes

EXCLUDE_FILES = ['dir2/dirA']
tar = tarfile.open("sample.tar.gz", "w:gz")
tar.add("workingDir", filter=lambda x: None if x.name in EXCLUDE_FILES else x)
tar.close()

关于python - 使用 shutil.make_archive() 创建存档同时排除某些路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38883595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com