我有〜1GB * .tbz文件。在每个文件中都有一个~9GB的文件。我只需要读取这个文件的标题,前1024个字节。
我希望这样做尽可能快,因为我要处理数百个这样的1GB文件。提取大约需要1分30秒。
我尝试使用完全提取:
tar = tarfile.open(fn, mode='r|bz2')
for item in tar:
tar.extract(item)
和tarfile.getmembers()
但没有速度提升:
tar = tarfile.open(fn, mode='r|bz2')
for member in tar.getmembers():
f = tar.extractfile(member)
headerbytes = f.read(1024)
headerdict = parseHeader(headerbytes)
getmembers()
方法一直在那里进行。
我有什么办法吗?