У меня есть много (например, 1000) файлов .bz2, каждый из которых (200-50Mb) содержит 4 файла .txt (.dat), как я могу прочитать некоторую конкретную информацию из файлов .txt (dat), не распаковывая их?Я только начинающий пользователь Python 3, поэтому, пожалуйста, дайте мне несколько хитов или, может быть, полезных примеров.Спасибо.
Я сделал код, который на самом деле распаковывает .txt (s) во временную папку, но это занимает около 40 секунд, чтобы обработать 170 Мб tar ... только один ... тогда как у меня тысячи.
import bz2
import os
import tempfile
import shutil
pa = '/home/user/tar' #.tar(s) location
fds = sorted(os.listdir(pa))
i = 0
for bz in fds:
path = os.path.join(pa, tar)
i +=1
archive = bz2.BZ2File(path, 'r')
tmpdir = tempfile.mkdtemp(dir=os.getcwd())
bz2.decompress('example.txt', path=tmpdir)
path_to_my_file = os.path.join(tmpdir, 'example.txt')
here goes some simple manupulation with my .txt (like print smthg)
shutil.rmtree(tmpdir)