Python 3.x 如何在tarfile中模拟“--numeric owner”?

Python 3.x 如何在tarfile中模拟“--numeric owner”?,python-3.x,tar,tarfile,Python 3.x,Tar,Tarfile,使用tar命令,我们可以使用tar--numeric owner-cf-test | tee来确保在tar数据中使用number来表示owner:group。我们如何在python3的tarfile中实现这一点?它似乎只是一个数字所有者。我也遇到过类似的问题。经过一些调查,我能想出的唯一解决方案是在向tarball添加文件时通过TarInfo过滤器。比如: def tar_filter(tarinfo: TarInfo) -> TarInfo: # tar filter to mi

使用tar命令,我们可以使用
tar--numeric owner-cf-test | tee
来确保在tar数据中使用number来表示owner:group。我们如何在python3的tarfile中实现这一点?它似乎只是一个数字所有者。

我也遇到过类似的问题。经过一些调查,我能想出的唯一解决方案是在向tarball添加文件时通过TarInfo过滤器。比如:

def tar_filter(tarinfo: TarInfo) -> TarInfo:
    # tar filter to mimic --numeric-owner argument
    tarinfo.uname = ''
    tarinfo.gname = ''
    return tarinfo

with tarfile.open(<tar_file_name>, w:gz) as tar:
    tar.add(<file_to_add>, filter=tar_filter)
def tar_过滤器(tarinfo:tarinfo)->tarinfo:
#要模拟的tar筛选器--数字所有者参数
tarinfo.uname=“”
tarinfo.gname=“”
返回tarinfo
使用tarfile.open(,w:gz)作为tar:
tar.add(,filter=tar\u filter)