разархивировать файл расширения .gz в jupyter - PullRequest
0 голосов
/ 31 марта 2020
# Unzip the dataset (if we haven't already)
if not os.path.exists('./cola_public/'):
    !unzip cola_public_1.1.zip

Приведенный выше код распакует файл в блокнот jupyter. Как бы я поступил так же, если бы файл был .gz?

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Я предполагаю, что ваш файл был tar.gz и он содержит больше файлов, чем вы можете использовать. (Вам необходимо создать тестовую папку или использовать root)

with tarfile.open('TEST.tar.gz', 'r:gz') as _tar:
    for member in _tar:
      if member.isdir():#here write your own code to make folders
         continue
      fname = member.name.rsplit('/',1)[1]
      _tar.makefile(member, 'TEST' + '/' + fname)

Или, если ваш gz не является файлом tar и содержит один файл, вы можете использовать gzip. Ссылка: - https://docs.python.org/2/library/gzip.html#examples - использования

import gzip
import shutil
def gunzip(file_path,output_path):
    with gzip.open(file_path,"rb") as f_in, open(output_path,"wb") as f_out:
        shutil.copyfileobj(f_in, f_out)
        f_in.close()
        f_out.close()

f='TEST.txt.gz'
gunzip(f,f.replace(".gz",""))
0 голосов
/ 31 марта 2020

Пакет zipfile хорошо работает для gzip

import zipfile as zf
file = zf.ZipFile("/path/to/file/YOUR_FILE.gzip")
...