5 votes

En python, si l'on extrait un fichier tar.gz, comment obtenir ou définir le nom du fichier résultat ?

Ma question est la suivante : quand utiliser :

import tarfile
tar = tarfile.open("sample.tar.gz")
tar.extractall()
tar.close()

si le fichier avant la compression s'appelle "DossierExemple", après avoir effectué les étapes ci-dessus, comment retourner le nom du "DossierExemple", mieux avec son chemin complet, ou comment définir le résultat avec un autre nom comme "Dossier" ?

ce n'est pas une bonne question, mais j'ai en fait une demande à ce sujet dans mon projet.

Je dois modifier la question en : si je ne connais pas le "sampleFolder", puis-je y revenir après l'étape de décompression ?

8voto

wim Points 35274

Il sera extrait dans le répertoire de travail par défaut :

import os
os.getcwd()

Donc, le chemin vers les données extraites est :

from pathlib import Path
extracted_to_path = Path.cwd() / 'sampleFolder'

Pour extraire dans un autre endroit :

with tarfile.open('sample.tar.gz') as tar:
    tar.extractall(path='/other/folder')

éditer : Si vous voulez juste savoir le nom "sampleFolder" contenu dans l'archive, il n'est pas nécessaire d'extraire quelque part. Vous devez utiliser getnames :

tar.getnames()

Notez que les archives peuvent contenir plusieurs fichiers ou dossiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X