如何在Python 3中使用字节缓冲区构建一个在内存中的TarFile对象?

6 浏览
0 Comments

如何在Python 3中使用字节缓冲区构建一个在内存中的TarFile对象?

是否可以使用包含tar数据的缓冲区在内存中创建TarFile对象,而无需将TarFile写入磁盘并再次打开?我们通过套接字接收字节。

类似于这样:

import tarfile
byte_array = client.read_bytes()
tar = tarfile.open(byte_array) # 怎样实现这个?
# 将“tar”作为常规TarFile对象使用
for member in tar.getmembers():
    f = tar.extractfile(member)
    print(f)

注意:这样做的原因之一是,我们最终希望能够同时使用多个线程来完成此操作,因此如果两个线程尝试同时执行此操作,使用临时文件可能会被覆盖。

非常感谢您的帮助!

0