Modulo Python Tempfile

Modulo Python Tempfile
Spesso nei nostri programmi, dobbiamo archiviare alcune informazioni temporanee sullo stato del programma e degli oggetti che potrebbero o non potrebbero vivere oltre lo stato del programma stesso. I dati salvati in questi file potrebbero non essere nella forma leggibile dall'uomo o anche in una forma che può essere utilizzata da chiunque tranne che alcuni programmi, algoritmi o hacker possono trovare un modo per ottenere informazioni da questi dati che possono sacrificare il Sicurezza del sistema. Quindi, dobbiamo creare una logica che crea questi file, scrivere alcuni dati e quindi eliminare anche i file. E se ci fosse qualcosa che estrae così tante operazioni nel nostro programma? Sembra che ci sia un modulo in Python per lo stesso, il Tempfile modulo.

Esempi con il modulo Tempfile

Inizieremo con semplici esempi con il Python Tempfile modulo qui.

Creazione di file temporanei

La prima cosa necessaria per salvare i dati temporanei sono i file in cui possiamo archiviare questi dati. Questo può essere fatto usando il Temporaneofile () funzione. Il più grande vantaggio di questa funzione è quando un file viene creato con questa funzione, non vengono realizzati collegamenti a questo file nel file system del sistema e quindi non è possibile per altri processi accedere a questi file.

Diamo un'occhiata a un semplice programma che utilizza il Temporaneofile () funzione:

Import OS
Importa Tempfile
# Utilizzo del PID nel nome file per una migliore identificazione
file = '/tmp/linuxhint_%s.txt ' % OS.getpid ()
# Fornendo la modalità file
temp_file = open (file, 'w+b')
Tentativo:
print ('temp_file: 0'.formato (temp_file))
print ('temp_file.Nome: 0 '.Formato (temp_file.nome))
Finalmente:
temp_file.vicino()
# Eliminazione di file temporanei
sistema operativo.Rimuovi il file)
print ('temporaryfile metadata:')
temp_file = tempfile.Temporaneofile ()
Tentativo:
print ('temp_file: 0'.formato (temp_file))
print ('temp_file.Nome: 0 '.Formato (temp_file.nome))
Finalmente:
# Pulisce il file quando si chiama vicino
temp_file.vicino()

Ecco cosa torniamo con questo comando:

Creazione di file temporanei

Questo file viene eliminato non appena il vicino() La funzione è chiamata sul file Tempfile riferimento.

Leggere da un file temporaneo

Anche leggere da un file temporaneo è facile e può essere fatto in un singolo metodo chiamata nello stesso modulo. Il vantaggio con questa funzione è quello Ci aiuta a evitare operazioni IO complesse coinvolto se abbiamo bisogno di fare queste operazioni manualmente. Ecco un programma che mostra questa funzione in azione:

Import OS
Importa Tempfile
tempfile = tempfile.Temporaneofile ()
Tentativo:
print ('Writing Data to TempFile:')
Tempfile.Scrivi (ma i dati possono andare qui.')
Tempfile.Cerca (0)
Print ('Lettura Modulo Dati Tempfile: \ n \ T 0'.Formato (Tempfile.Leggere()))
Finalmente:
Tempfile.vicino()

Vediamo l'output per questo comando:

Python ha letto da un file temporaneo

Tutto il testo nei file temporanei è stato fornito con una chiamata di metodo singolo.

Scrivere un testo semplice in file temporaneo

Nei nostri programmi di cui sopra, tutti i dati scritti su file non erano sotto forma di un semplice formato in chiaro. Se vogliamo farlo per semplici operazioni di testo, possiamo semplicemente modificare la modalità file quando apriamo il file temporaneo per le modifiche:

Importa Tempfile
FILEMODE = 'W+T'
con tempfile.Temporaryfile (modalità = fileMode) come file:
file.WriteLines (['Linux \ n', 'Ubuntu \ n'])
file.Cerca (0)
Per l'elemento nel file:
Stampa (articolo.rstrip ())

Ecco cosa torniamo con questo comando:

Scrivere un testo semplice nel file

Creazione di file temporanei denominati

I file che devono essere attraversati su più processi devono essere nominati in modo che un processo non li elimini quando è completato. Ecco come possiamo creare un file denominato temporaneo:

Import OS
Importa Tempfile
tempfile = tempfile.NominatoTemporaryFile ()
Tentativo:
print ('tempfile: 0'.formato (tempfile))
stampa ('temp.tempfile: 0 '.Formato (Tempfile.nome))
Finalmente:
# Eliminazione anche il file
Tempfile.vicino()
stampa ('esiste? : 0 '.Formato (sistema operativo.sentiero.esiste (Tempfile.nome)))

Vediamo l'output per questo comando:

Chiamato Tempfile

Se non eliminiamo il file, possiamo verificare la sua esistenza in un altro programma e utilizzarlo se esiste nella posizione specificata.

Fornire suffisso e prefisso del nome file

Per identificare facilmente i file che appartengono ai nostri processi sul file system, possiamo applicare anche il suffisso e il prefisso al nome del file:

Importa Tempfile
tempfile = tempfile.DamameTemporaryFile (suffix = '_ ubuntu',
prefix = 'linuxhint_',
dir = '/tmp',)
Tentativo:
print ('tempfile:', tempfile)
stampa ('tempfile.Nome: ', Tempfile.nome)
Finalmente:
Tempfile.vicino()

Ecco cosa torniamo con questo comando:

Applicazione del prefisso e del suffisso al nome file

Abbiamo fornito tre parametri al metodo che funge da suffisso e prefisso per il nome del file che verrà effettuato una posizione che abbiamo specificato.

Conclusione

In questa lezione, abbiamo esaminato come possiamo utilizzare il modulo Python Tempfile per gestire i file temporanei nel nostro codice. Leggi di più post basati su Python qui.