Python Tarfile

Python Tarfile
Il formato del file TAR viene utilizzato per archiviare o archiviare diversi file in un file. Questo è molto utile quando si inviano o trasmettono una grande quantità/pacchetto di file alla rete o quando è necessario archiviare i file più vecchi. Per il sistema operativo UNIX, l'utilità "catrame" viene introdotta per la prima volta. Il suo obiettivo è compilare numerosi file in un file di archivio, spesso indicato come un tarball, rendendo semplice distribuire i dati. Il modulo Tarfile della libreria standard di Python contiene funzioni che aiutano a creare file o archivi di catrame ed estrarre dati in base alle necessità dal tarball. Gli archivi possono essere creati senza compressione o usando GZIP, BZ2 e LZMA.

Qual è il modulo Tarfile in Python?

Non abbiamo bisogno di installare esplicitamente il modulo Tarfile perché fa parte della libreria standard Python; Tutto quello che dobbiamo fare è "importarlo". La lettura e la scrittura degli archivi di catrame può essere reso molto più semplice di quanto dovrebbe essere con i metodi forniti dal modulo Python "Tarfile". Il modulo "Tarfile" integrato in Python fornisce una potente interfaccia per la scrittura e la lettura di file TAR.

Modalità di file per aprire i file TAR Python

Di seguito sono riportate alcune modalità di file che possono essere utilizzate in Python per aprire un tarfile:

R: Apre un file di catrame da leggere.

R: Apre un file di catrame e ne legge una versione non compressa.

W o W: Abilita la scrittura non compressa aprendo un file di catrame.

a o a: Apre un file TAR in modo che i dati possano essere aggiunti ad esso senza compressione.

R: GZ: Apre un file TAR compensato GZIP per la lettura.

W: GZ: Apre un file TAR compensato GZIP per la scrittura.

R: BZ2: Apre un file TAR compresso BZIP2 per la lettura.

W: BZ2: Apre un file TAR compresso BZIP2 per la scrittura.

Ora, usiamo il modulo Tarfile per capire come funziona in Python.

Creazione di un file TAR

Il modulo TarFile in Python ci consente di creare file TAR. Innanzitutto, apri un file TAR in modalità di scrittura. Quindi, aggiungi un pacchetto di file o un singolo file al file TAR.

Esempio 1: creazione di un file TAR utilizzando la funzione Open ()

Qui, utilizziamo la funzione Open () per creare un file TAR e il metodo ADD () per aggiungere altri file al file TAR.

Produzione

Qui, il primo input per il metodo Open () è il nome del nostro file TAR che deve essere creato, seguito dall'argomento "W" per aprire il file (tarfile) in modalità di scrittura. Il nome del file che deve essere aggiunto o archiviato al ".Il file Tar ”viene passato all'interno del metodo ADD () come input. Archiviamo tre file nel nostro file TAR utilizzando la funzione add () su un oggetto file

Esempio 2: il sistema operativo.Funzione listDir () per creare ed elencare i file

Il metodo ListDir () restituisce un elenco di file e directory che risiedono in una directory specificata. Usando il modulo TarFile, creiamo prima il nostro tarfile. Quindi, aggiungiamo i file nel nostro file TAR utilizzando la funzione ADD (). Dopo aver aggiunto i file al file TAR, otteniamo un elenco di file che sono stati archiviati nel ".File Tar ”utilizzando il sistema operativo.funzione listDir (). Per utilizzare questa funzione, dobbiamo importare il modulo OS.

La "cartella" del file TAR viene creata archiviando tutti i file archiviati nella cartella "dati". La funzione getNames () restituisce i nomi dei file archiviati nella "cartella" del file TAR.

Come verificare se un file è o meno

Usando il metodo IS_tarfile () nel modulo TarFile, possiamo rapidamente determinare se un file ha il ".Tar "estensione.

Passiamo il nome del "my_file.File Tar ”nel modulo is_tarfile () per verificare se si tratta di un file TAR o no. La funzione restituisce vero, il che significa che il file specificato è un file di catrame. Controlliamo un altro file.

Dal momento che “nota.txt ”non è un file TAR, la funzione restituisce false come output.

Leggere un file di catrame

La libreria Tarfile può aiutarti a leggere i file TAR senza prima estrarli. Il tarfile.Apri (FilePath, Modalità) può essere utilizzato per aprire un file TAR in Python. Il file/percorso è la posizione assoluta o relativa del file che vogliamo leggere. Diversi tipi di parametri possono essere utilizzati al posto della modalità.

Possiamo anche leggere il file aperto in modalità Compress. Un metodo di compressione può essere facoltativamente combinato con la modalità operativa. Pertanto, la modalità [: compressione] diventa la nuova sintassi. Le abbreviazioni che supportano i metodi di compressione sono le seguenti:

  • GZ per gzip
  • XZ per lzma
  • BZ2 per BZ2

Nel codice precedente, apriamo per la prima volta un file TAR compresso BZ2 per la scrittura. Quindi, apriamo il file TAR compresso BZ2 per la lettura.

Controllo del contenuto del file TAR

Usando la funzione getNames () del modulo TarFile, possiamo visualizzare il contenuto di un file di catrame senza estrarli. L'elenco dei nomi dei file viene restituito dalla funzione getNames () del modulo TarFile. Qui, apriamo il file in modalità "Leggi", quindi "R" è specificato come secondo argomento nella funzione Open ().

Opn un "progetto.Tar ”file in modalità di lettura. La funzione getNames () restituisce i nomi dei file archiviati nel "Progetto.file catra ". Per stampare i nomi dei contenuti/file, il per loop viene utilizzato per iterare sui file nel file TAR.

File aggiuntivi al file TAR

Usando la funzione ADD () dal modulo TarFile, possiamo aggiungere direttamente file a un file TAR, proprio come abbiamo fatto quando abbiamo creato il file TAR. A differenza degli esempi precedenti, "A" viene passato al metodo Open () come secondo argomento perché il file deve essere aperto in modalità Append.

Utilizziamo la modalità Append per aprire il "progetto.file catra ". Cinque file sono già presenti nel "paoject.file catra ". Aggiungiamo altri tre file utilizzando la funzione ADD () sull'oggetto file.

Estrarre un file specifico da un file di archivio di catrame

La funzione ExtractFile () della libreria TarFile può essere utilizzata per estrarre un file da una cartella archiviata. Questo metodo accetta il nome del file come input ed estrae il file specificato nella nostra directory di lavoro. Se si desidera estrarre più di un file, devi chiamare più volte ExtractFile (). Durante l'estrazione di un membro come oggetto file dall'archivio, un membro potrebbe essere un oggetto Tarinfo o un nome file. Un "io.L'oggetto BufferedReader ”ritorna se un membro è un file normale o un collegamento. Nessuno è presentato per tutti gli altri membri esistenti/attuali. Il keyerror viene sollevato se un membro è assente nel file di archivio.

I libri.Il file XML "viene estratto dal" progetto.file catra ".

Estrarre tutti i file dal file TAR

La funzione extractall () della libreria TarFile può essere utilizzata per estrarre l'intero file zippato anziché solo un file particolare. L'immagine che segue mostra la directory prima che vengano estratti i file del file archiviato.

L'intero contenuto del file TAR viene estratto nella cartella nella nostra directory corrente, il metodo "Dati", con il metodo Extractall (). Ora, estraiamo i file del file archiviato in questa cartella.

Produzione

La funzione ha estratto correttamente tutti i file nella cartella specificata.

Conclusione

In questo articolo, abbiamo imparato quali sono i file di catrame o gli archivi di catrame e come utilizzare il modulo Tarfile di Python per creare, accedere e gestire i file TAR. Abbiamo appreso le modalità di file che possiamo utilizzare per aprire i file TAR in modalità di lettura, scrittura e compressione. Abbiamo spiegato i metodi per elencare i file dopo averli archiviati in catrame. Abbiamo discusso di come aggiungere i file nel file TAR. Inoltre, abbiamo imparato come un file specifico o tutti i file possono essere estratti nella directory corrente.