gpt4 book ai didi

python - 在python中将文件从一个tar添加到另一个tar

转载 作者:太空狗 更新时间:2023-10-30 02:32:32 24 4
gpt4 key购买 nike

我想复制一份 tar,删除一些文件(基于它们的名称和可能的其他属性,如符号链接(symbolic link)等)。因为我已经在 python 中打开了 tar 文件,所以我想在 python 中执行此操作。我知道 TarFile.getmembers() 返回一个 TarInfo 对象列表,而 TarFile.addfile(tarinfo) 接受一个 TarInfo 对象。但是当我将一个输入另一个时,会创建一个损坏的 tar(没有错误)。

import tarfile

oldtar=tarfile.open('/tmp/old.tar',"r")
newtar=tarfile.open('/tmp/new.tar',"w")
for member in oldtar.getmembers():
if not member.name == 'dev/removeme.txt':
newtar.addfile(member)
else:
print "Skipped", member.name
newtar.close()
oldtar.close()

最佳答案

您必须将 fileobj 参数传递给 addfile() :

newtar.addfile(member, oldtar.extractfile(member.name))

关于python - 在python中将文件从一个tar添加到另一个tar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17616340/

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