Я пытаюсь использовать пакет patool
для выполнения простой операции: распаковка архива gz
, который состоит из одного файла. Этот файл в архиве представляет собой XML-файл, имя которого совпадает с именем архива, но без окончания .gz
.
Код, который я использую для этого:
import patoolib
filePath = 'D:\\inpath\\file.xml.gz'
outPath= 'D:\\outpath'
patoolib.extract_archive(filePath,outdir=outPath, interactive=False, verbosity=-1)
Но происходит то, что файл извлекается, но поврежденным образом. То есть файл появляется в папке outPath
, но имеет 0 КБ и не может быть открыт. Я получаю ошибку:
PatoolError: Команда `['c: \ Rtools \ bin \ gzip.EXE', '-c', '-d', '-', 'D: \ inpath \ file.xml.gz', ' > ',' D: \ outPath \ file.xml ']' вернул ненулевой статус выхода 1
Теперь я уверен, что архив не поврежден, поскольку, когда я выполняю извлечение вручную с помощью проводника Windows, он работает правильно.
Этот код работал для некоторых других файлов, но я не могу понять, почему это происходит для этого файла. Кроме того, мне интересно, возможно, существует более простой способ сделать это, который известен как более плавный.