Comment décompresser un fichier ".tar.gz" en utilisant python ?

Published: 05 octobre 2020

Tags: Python;

DMCA.com Protection Status

Un exemple de comment décompresser un fichier ".tar.gz" en utilisant python

Décompresser un fichier tar en python

Considérons par exemple le fichier intitulé data.tar.gz. En python pour décompresser un fichier tar en python, une solution est d'utiliser le module tarfile:

import tarfile

fname = "data.tar.gz"

if fname.endswith("tar.gz"):
    tar = tarfile.open(fname, "r:gz")
    tar.extractall()
    tar.close()
elif fname.endswith("tar"):
    tar = tarfile.open(fname, "r:")
    tar.extractall()
    tar.close()

Un exemple d'utilisation

Pour un projet (que l'on peut trouver [ici] (https://github.com/benjamin-hg-marchant/deep-inversion/blob/master/docs/train_deep_learning_model_from_modis_myd06_lut.ipynb) sur Github), je voulais télécharger un fichier compressé à partir d'une adresse URL et le décompressez sur ma machine locale en utilisant python:

Téléchargez le fichier compressé ('modis_c6_luts.tar.gz') à partir de l'adresse URL suivante:

import urllib.request

url = 'https://atmosphere-imager.gsfc.nasa.gov/sites/default/files/ModAtmo/resources/modis_c6_luts.tar.gz'

downloaded_filename = 'modis_c6_luts.tar.gz'

urllib.request.urlretrieve(url, downloaded_filename)

et ensuite le décompresser:

import tarfile

fname = 'modis_c6_luts.tar.gz'

if fname.endswith("tar.gz"):

    tar = tarfile.open(fname, "r:gz")
    tar.extractall()
    tar.close()

Références