Oggetto Python Zipinfo

Oggetto Python Zipinfo
La compressione dei dati senza perdita è supportata dal formato file di archivio noto come zip. La compressione senza perdita è quando i dati originali possono essere ricreati con precisione dai dati compressi, grazie all'algoritmo di compressione. Di conseguenza, un file zip è un singolo file che contiene uno o più file compressi, fornendo un approccio perfetto per ridurre le dimensioni di file enormi e mantenere insieme le informazioni correlate.

Scopriremo in questo post come utilizzare l'oggetto zipfile zipfile di Python per manipolare i file zip. Python ha un modulo integrato chiamato zipfile che contiene l'oggetto zipinfo. Utilizzando la Class ZipFile ZipInfo, si può rappresentare un membro della cartella Zip. Quando si utilizzano le funzioni getInfo () e Infolist () sugli oggetti ZipFile, vengono restituiti oggetti della classe ZipInfo. Le informazioni di un singolo membro dell'archivio zip sono archiviate in ogni oggetto. Un oggetto ZipInfo non può essere creato direttamente. Utilizzando i metodi aggiuntivi mostrati di seguito, possiamo acquisire istanze di classe ZipInfo.

  1. Un elenco di oggetti ZipInfo che rappresentano ciascun membro della classe ZipFile è mantenuto nella costante filelista dell'oggetto.
  2. Inoltre, un elenco di oggetti di classe ZipInfo per i membri di un file zip viene restituito con il metodo Infolist () di un oggetto Class Class ZipFile.
  3. Un oggetto della classe ZipInfo appartenente a un membro specifico viene restituito dalla funzione getInfo () di un oggetto di classe zipfile.

Sintassi dell'oggetto zipinfo in Python

La seguente sintassi ZipInfo, abbiamo distribuito nel nostro script Python.

Zipinfo.da_file (fileName, arcName = none, strict_timestamps = true)

Di seguito, abbiamo discusso brevemente la sintassi di ZipInfo.

Un argomento obbligatorio è richiesto dalla funzione da file (). Il percorso del file da cui è stato costruito l'oggetto ZipInfo è conservato nel campo "FileName". Questo percorso potrebbe essere un oggetto del tipo di percorso o di un nome file del tipo di classe STR. Inoltre, ha un argomento opzionale "arcname". Il nome che viene utilizzato per creare un oggetto ZipInfo è archiviato in questo argomento.

Simile al parametro FileName, ha lo stesso valore predefinito. ArcName ottiene il nome file nell'oggetto ZipInfo quando viene dato un nome diverso all'opzione ArcName. Un oggetto ZipInfo viene restituito con questo metodo. Tutte le informazioni necessarie per il file con il nome file specificato per diventare un file zip sono contenute in questo oggetto ZipInfo. Successivamente, questi dati vengono recuperati in seguito alle esigenze dell'utente.

Esempio 1:
Abbiamo utilizzato la funzione Dir () per studiare ogni oggetto nella classe ZipFile ZipInfo. Guarda il codice qui sotto.

Importa zipfile
Stampa (Dir (ZipFile.zipinfo))

Come già discusso sopra, è possibile accedere a ZipInfo dal modulo ZipFile in Python. Qui, abbiamo aggiunto il modulo ZipFile per ottenere l'oggetto ZipInfo. Quindi, abbiamo un metodo di stampa in cui abbiamo invocato il metodo Dir () per visualizzare tutti gli oggetti che la classe ZipInfo contiene. Per questo, abbiamo superato il file zip insieme all'oggetto zipinfo al metodo di stampa.

Quando il codice sopra viene eseguito il debug, genera i seguenti risultati:

Esempio 2:
Abbiamo usato le istanze ZipInfo nel seguente codice per spiegare la funzionalità di ciascun metodo sui file ZIP. Vediamo il codice, abbiamo implementato di seguito.

Importa zipfile
zf = zipfile.Zipfile ("myfile.zip "," w ")
zf.Scrivi ("MyFile.txt "," dir/myfile.TXT")
Stampa (Zf.Infolist () [0].nome del file)
def main ():
con zipfile.Zipfile ('myfile.zip ') come file:
Archive = File.infolista ()
read_file = archive [-1]
print ("Nome file:- ".Formato (read_file.nome del file))
print ("dimensione del file:- ".Formato (read_file.dimensione del file))
print ("Is directory:- ".Formato (read_file.is_dir ()))
Print ("File Date & Time:- ".Formato (read_file.appuntamento))
if __name__ == '__main__': main ()

Qui, abbiamo importato per la prima volta il pacchetto ZipFile. Quindi, abbiamo implementato un codice per aggiungere la directory dei file per archiviare i file ZIP. Per questo, abbiamo creato un oggetto come ZF e specificato il nome del file all'interno della funzione Class ZipFilfile. Abbiamo impostato il nome del file zip all'interno di quella funzione in una modalità di scrittura. Abbiamo chiamato la funzione di scrittura, in cui impostiamo la directory del file. Successivamente, all'interno della funzione di stampa, abbiamo chiamato la funzione infolista per contenere tutti i file e le cartelle della directory specificata.

Quando è impostata la directory dei file zip, possiamo utilizzare l'oggetto ZipInfo della Class ZipFile. Abbiamo definito la funzione principale di questo programma con la parola chiave DEF. All'interno della funzione, abbiamo chiamato il file zip che è presente come "myfile.cerniera lampo'. Abbiamo creato una variabile come archivio in cui abbiamo infolista (). L'Infolist () è l'istanza della classe zipfile. La funzione "Infolist ()" restituisce un elenco di tutti i file e le directory negli oggetti Zip -> "ZipInfo".

Successivamente, l'elemento finale dell'elenco è assegnato a un "archivio" variabile in modo che tutti i metodi "zipinfo" possano essere testati. Alla fine, abbiamo un'istruzione di stampa in cui abbiamo usato gli oggetti di classe ZipInfo. La prima dichiarazione di stampa ha il zipinfo.nome file che restituisce il nome del file. Quindi, abbiamo una dimensione del file ZipInfo, IS_DIR e oggetti Date_time della classe ZipInfo per restituire l'output specifico in base alla loro funzionalità.

Gli oggetti ZipInfo hanno fornito il seguente output che include il nome del file, la sua directory, la dimensione del file e la data e l'ora del file.

Esempio 3:
La classe ZipInfo offre numerosi metodi. Queste numerose tecniche vengono utilizzate per modificare un file zip e possono essere utilizzate per condurre varie operazioni su di esso. Il metodo From File () è ciò di cui stiamo parlando qui.

da zipfile import zipfile, zipinfo
zf = zipfile ("myfile.zip ", modalità = 'r')
Stampa ("Nome dei file esistenti nel file zip:", ZF.namelist (), sep = "\ n")
Stampa ("\ nadding il file nell'archivio.")
zip_file = zipinfo.da_file (fileName = "myfile.TXT")
print (type (zip_file))
Stampa ("FileName dell'oggetto ZipInfo:", Zip_File.nome del file)

Nel programma, dal modulo ZipFile, abbiamo importato ZipFile e ZipInfo. Successivamente, abbiamo specificato il nome del file in modalità di scrittura all'interno della variabile "ZF". Quindi, otteniamo l'elenco dei file inseriti nella cartella dei file zip invocando il metodo Namelist () nel metodo di stampa. Abbiamo creato un'altra variabile come zip_file in cui abbiamo utilizzato l'oggetto zipinfo da_file e dato un nome file. Qui, abbiamo anche ottenuto il tipo di file zip. L'ultima dichiarazione di stampa sta utilizzando il nome file di istanza di ZipInfo.

L'implementazione del suddetto programma produce l'output elencato di seguito.

Conclusione:

La Class ZipInfo appartiene al modulo ZipFile. Le informazioni su un membro dell'archivio sono rappresentate da questa classe. L'utente può ottenere informazioni sui componenti di un file zip utilizzando diverse tecniche che sono incluse nello strumento. Per capire meglio, abbiamo incluso diversi campioni.