我正在尝试在python中访问大型tarball(tar.gz
)。压缩包包含多个mp3
或wav
文件。我想分别读取每个文件并进行我想做的处理。
两种解决方案都提供读取目录的功能,但不能一次访问/读取每个文件。我见过的其他解决方案是提取整个tarball-我的磁盘上没有太多空间了。
在这方面的任何帮助将不胜感激。
您可以使用TarFile.extractfile在存档中的每个文件上获取缓冲的读取器,而无需解压缩其他文件。
import tarfile
with tarfile.open("test.tar.gz") as archive:
for member in archive:
file_obj = archive.extractfile(member)
print(file_obj)