#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