#python #compression #gzip
#python #сжатие #gzip
Вопрос:
Я пытаюсь распаковать файл, используя его местоположение:
gzip.decompress(input_path)
где входной путь /media/uploads/dino_test.msh_b1R1dcs.gz
Я получаю следующую ошибку:
File "/usr/lib64/python3.6/gzip.py", line 531, in decompress
with GzipFile(fileobj=io.BytesIO(data)) as f:
TypeError: a bytes-like object is required, not 'str'
Я понимаю, что распаковка ожидает файл, а не путь. Как мне распаковать файл, зная местоположение? Файл загружается и помещается в папку с помощью скрипта python, запущенного в серверной части.
Комментарии:
1. Может быть, попробовать
gzip.open(input_path)
Ответ №1:
gz_files = [file for file in os.listdir(input_path) if file.endswith('.gz')]
Если вы уверены, что у вас есть только один файл, то
gzip.decompress(gz_files[0])
Ответ №2:
Попробуйте использовать приведенный ниже код, распакуйте необходимый файловый объект.
with open(input_path) as fp:
gzip.decompress(fp)