Python Tempfile -modul

Python Tempfile -modul
Ofte i programmene våre må vi lagre litt midlertidig informasjon om tilstanden til programmet og objekter som kanskje eller ikke kan leve utenfor selve programmet. Dataene som er lagret i disse filene er kanskje ikke i menneskelig lesbar form eller til og med i en form som kan brukes av alle, men noen programmer, algoritmer eller hackere kan finne en måte å få informasjon ut av disse dataene som kan ofre Sikkerheten til systemet. Så vi må lage logikk som oppretter disse filene, skriver noen data og deretter sletter filene også. Hva om det var noe som abstraherer så mange operasjoner i programmet vårt? Virker som om det er en modul i Python for det samme, tempfile modul.

Eksempler med tempfile -modul

Vi starter med enkle eksempler med python tempfile modul her.

Opprette midlertidige filer

Det første som trengs for å lagre midlertidige data er filene der vi kan lagre disse dataene. Dette kan gjøres ved hjelp av Midlertidigfile () funksjon. Den største fordelen med denne funksjonen er når en fil opprettes med denne funksjonen, det er ingen lenker til denne filen laget i systemets filsystem, og det er ikke mulig for andre prosesser å få tilgang til disse filene.

La oss se på et enkelt program som benytter seg av Midlertidigfile () funksjon:

Importer OS
Importer tempfile
# Bruke PID i filnavn for bedre identifikasjon
fil = '/tmp/linuxhint_%s.TXT ' % OS.getPid ()
# Leverer filmodus
temp_file = åpen (fil, 'w+b')
prøve:
print ('temp_file: 0'.Format (temp_file))
trykk ('temp_file.Navn: 0 '.Format (temp_file.Navn))
endelig:
temp_file.Lukk()
# Slette midlertidig fil oss selv
OS.Fjern (fil)
trykk ('Templemetadata:')
temp_file = tempfile.Midlertidigfile ()
prøve:
print ('temp_file: 0'.Format (temp_file))
trykk ('temp_file.Navn: 0 '.Format (temp_file.Navn))
endelig:
# Rydder opp i filen når den er avsluttet kalles
temp_file.Lukk()

Dette er hva vi kommer tilbake med denne kommandoen:

Opprette midlertidig fil

Denne filen blir slettet så snart Lukk() funksjonen blir kalt på tempfile henvisning.

Lesing fra midlertidig fil

Selv å lese fra en midlertidig fil er enkel og kan gjøres i en enkelt metodeanrop i samme modul. Fordelen med denne funksjonen er at Det hjelper oss å unngå komplekse IO -operasjoner involvert hvis vi trenger å gjøre disse operasjonene manuelt. Her er et program som viser denne funksjonen i aksjon:

Importer OS
Importer tempfile
tempfile = tempfile.Midlertidigfile ()
prøve:
trykk ('Skrive data til tempfile:')
tempfile.Skriv (B'any -data kan gå hit.')
tempfile.Søk (0)
print ('Lese data fra tempfile: \ n \ t 0'.Format (tempfile.lese()))
endelig:
tempfile.Lukk()

La oss se utdataene for denne kommandoen:

Python leste fra midlertidig fil

All teksten i de midlertidige filene ble gitt tilbake med en enkelt metodeanrop.

Å skrive vanlig tekst i midlertidig fil

I våre programmene ovenfor var alle data skrevet til filer ikke i form av enkelt vanlig tekstformat. Hvis vi ønsker å gjøre det for enkle tekstoperasjoner, kan vi bare endre filmodus når vi åpner den midlertidige filen for endringer:

Importer tempfile
filemode = 'w+t'
med tempfile.MIDATORYFILE (MODE = FILEMODE) som fil:
fil.Writelines (['Linux \ n', 'Ubuntu \ n'])
fil.Søk (0)
for element i fil:
Skriv ut (vare.rstrip ())

Dette er hva vi kommer tilbake med denne kommandoen:

Skrive ren tekst i filen

Opprette navngitte midlertidige filer

Filene som må spenner over flere prosesser, må navngis slik at en prosess ikke sletter dem når den er fullført. Slik kan vi lage en midlertidig navngitt fil:

Importer OS
Importer tempfile
tempfile = tempfile.NamedTemploryFile ()
prøve:
print ('tempfile: 0'.Format (tempfile))
trykk ('Temp.tempfile: 0 '.Format (tempfile.Navn))
endelig:
# Slette filen også
tempfile.Lukk()
trykk ('eksisterer? : 0 '.Format (OS.sti.eksisterer (tempfile.Navn)))

La oss se utdataene for denne kommandoen:

Kalt Tempfile

Hvis vi ikke sletter filen, kan vi se etter dens eksistens i et annet program og bruke den hvis den eksisterer på det spesifiserte stedet.

Tilbyr filnavnsuffiks og prefiks

For enkelt å identifisere filene som tilhører våre egne prosesser på filsystemet, kan vi bruke suffiks og prefiks på filnavnet også:

Importer tempfile
tempfile = tempfile.NamedTemploryFile (Suffix = '_ Ubuntu',
prefiks = 'linuxhint_',
dir = '/tmp',)
prøve:
trykk ('tempfile:', tempfile)
trykk ('tempfile.Navn: ', Tempfile.Navn)
endelig:
tempfile.Lukk()

Dette er hva vi kommer tilbake med denne kommandoen:

Bruke prefiks og suffiks på filnavn

Vi ga tre parametere til metoden som fungerer som suffiks og prefiks for filnavnet som vil bli gjort til stedet vi spesifiserte.

Konklusjon

I denne leksjonen så vi på hvordan vi kan benytte oss av Python Tempfile -modul for å administrere midlertidige filer i koden vår. Les mer Python -baserte innlegg her.