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 Midlertidig fil () funksjon. Den største fordelen med denne funksjonen er når en fil opprettes med denne funksjonen, det blir ikke laget noen lenker til denne filen i systemets filsystem, og det er ikke mulig for andre prosesser å få tilgang til disse filene.
La oss se på et enkelt program som bruker Midlertidig fil () funksjon:
importer osimporter tempfile
# Bruke PID i filnavn for bedre identifikasjon
fil = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Tilby filmodus
temp_file = åpen (fil, 'w + b')
prøve:
skriv ut ('temp_file: 0'.format (temp_file))
skriv ut ('temp_file.navn: 0 '.format (temp_file.Navn))
endelig:
temp_file.Lukk()
# Slette midlertidig fil selv
os.fjerne (fil)
skriv ut ('TemporaryFile Metadata:')
temp_file = tempfile.Midlertidig fil ()
prøve:
skriv ut ('temp_file: 0'.format (temp_file))
skriv ut ('temp_file.navn: 0 '.format (temp_file.Navn))
endelig:
# Rydder opp i filen når close kalles
temp_file.Lukk()
Her er hva vi kommer tilbake med denne kommandoen:
Oppretter midlertidig fil
Denne filen slettes så snart Lukk() funksjon kalles på tempfile henvisning.
Lesing fra midlertidig fil
Det er enkelt å lese fra en midlertidig fil og kan gjøres i en enkeltmetodesamtale 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 osimporter tempfile
tempFile = tempfile.Midlertidig fil ()
prøve:
skriv ut ('Skrive data til tempFile:')
tempFile.skriv (b'Any data kan gå her.')
tempFile.søk (0)
print ('Lesing av skjema tempFile: \ n \ t 0'.format (tempFile.lese()))
endelig:
tempFile.Lukk()
La oss se utdataene for denne kommandoen:
Python lest fra midlertidig fil
All teksten i de midlertidige filene ble levert tilbake med en enkeltmetodesamtale.
Skrive vanlig tekst i midlertidig fil
I de ovennevnte programmene var ikke alle data som ble skrevet til filer, i form av enkelt ren tekstformat. Hvis vi vil gjøre det for enkle tekstoperasjoner, kan vi bare endre filmodus når vi åpner den midlertidige filen for modifikasjoner:
importer tempfilefileMode = 'w + t'
med tempfile.TemporaryFile (mode = fileMode) som fil:
fil.writelines (['Linux \ n', 'Ubuntu \ n'])
fil.søk (0)
for vare i filen:
skriv ut (vare.rstrip ())
Her er hva vi kommer tilbake med denne kommandoen:
Skrive ren tekst i filen
Opprette navngitte midlertidige filer
Filene som må spennes 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 osimporter tempfile
tempFile = tempfile.NamedTemporaryFile ()
prøve:
print ('tempFile: 0'.format (tempFile))
utskrift ('temp.tempFile: 0 '.format (tempFile.Navn))
endelig:
# Slette filen også
tempFile.Lukk()
utskrift ('eksisterer? : 0 '.format (os.sti.eksisterer (tempFile.Navn)))
La oss se utdataene for denne kommandoen:
Navngitt tempfile
Hvis vi ikke sletter filen, kan vi sjekke om den finnes i et annet program og bruke den hvis den finnes på det angitte stedet.
Oppgi filnavn Suffiks og prefiks
For å enkelt identifisere filene som tilhører våre egne prosesser på filsystemet, kan vi også bruke Suffiks og Prefiks til filnavnet:
importer tempfiletempFile = tempfile.NamedTemporaryFile (suffiks = '_ ubuntu',
prefiks = 'linuxhint_',
dir = '/ tmp',)
prøve:
print ('tempFile:', tempFile)
skriv ut ('tempFile.navn: ', tempFile.Navn)
endelig:
tempFile.Lukk()
Her er hva vi kommer tilbake med denne kommandoen:
Bruker prefiks og suffiks til filnavnet
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 bruke Python tempfile-modul for å administrere midlertidige filer i koden vår. Les flere Python-baserte innlegg her.