【Python】ZIPファイルをダウンロードして解凍する

はじめに

ZIPファイルをダウンロードして解凍する機会は何度もあります。

みなさんはどうように行っているのでしょうか?

自分が行っている方法をいくつか紹介します。

方法

MXNet

import zipfile
from mxnet.gluon.utils import download

url = 'https://github.com/dai-ichiro/cartoongan_webcam/archive/refs/heads/main.zip'
zip_fname = download(url)

with zipfile.ZipFile(zip_fname) as existing_zip:
    existing_zip.extractall('.')

PyTorch

import zipfile
from torchvision.datasets.utils import download_url

url = 'https://github.com/dai-ichiro/cartoongan_webcam/archive/refs/heads/main.zip'
zip_fname = url.split('/')[-1]
download_url(url, root = '.', filename = zip_fname)

with zipfile.ZipFile(zip_fname) as existing_zip:
    existing_zip.extractall('.')

AutoGluon

from autogluon.core.utils.loaders import load_zip
url = 'https://github.com/dai-ichiro/cartoongan_webcam/archive/refs/heads/main.zip'
load_zip.unzip(url, unzip_dir = '.')

AutoGluonを使うと一番短く書けます。
ダウンロードしたZIPファイルは「file.zip」という名前になります。


AutoGluonを使わないときでも以下の一行でautogluon.coreのみインストール可能です。

pip install autogluon.core

関連記事

tar.gzをPythonを使って解凍することも可能です。
WindowsでもLinuxでも動作します。
touch-sp.hatenablog.com

さいごに

改善点やほかの方法などあればコメントで教えて頂ければうれしいです。