Python не читает / не извлекает файл gzip, потому что … сжатие слишком высокое?

#python #search #gzip #zcat

#python #Поиск #gzip #zcat

Вопрос:

Это код, над которым я работаю для поиска шаблонов в tar.gz затем выведите найденные файлы.

Ранее у меня был вопрос, похожий на этот, но я разобрался с проблемой — когда я передаю tar.gz файл, который был сжат до уровня 9, python возвращает ошибку типа указателя null — я считаю, что виновник кроется в высоком уровне сжатия, потому что этот код работает, когда я передаюобычный параметр без tar.gz досье…

Итак, я попытался выполнить gzip.open, но он не извлек файл должным образом…Я пытаюсь найти другие способы поиска и извлечения файлов с шаблонами, не разархивируя все это, поскольку это будет стоить много ненужного места для использования. Например, будет ли работать потоковая передача zcat из файла gzip?

Вот фрагмент кода, над которым я работал

 tar = tarfile.open(tarName, 'r:gz')
#tar = gzip.open(tarName, 'rb')
#tar = tarfile.open(sys.stdin.read(), 'r')

directory = directoryname '/'
if not os.path.exists(directory) and not (param1 == 2):
    os.makedirs(directory)

start = time.time()
numTotal = 0;
numFound = 0;

#case 1: look for string anywhere
if (param2 == 0):

    for currentFile in tar:
        numTotal =1;
        x=tar.extractfile(currentFile)

        if stringCheck in x.read():

          numFound  =1

          if (param1 == 2):
        continue

          new = open(directory   ntpath.basename(currentFile.name), 'w');
          x.seek(0,0)
          new.write( x.read() )
          new.close()
          if (param1 == 1):
            print "Instance found at "   currentFile.name