Eksempler med tempfile-modul
Vi starter med enkle eksempler med Python tempfile modul her.
Oprettelse af midlertidige filer
Den første ting, der er nødvendig for at gemme midlertidige data, er de filer, hvor vi kan gemme disse data. Dette kan gøres ved hjælp af Midlertidig fil () fungere. Den største fordel med denne funktion er, når der oprettes en fil med denne funktion, der ikke oprettes links til denne fil i systemets filsystem, og det er derfor ikke muligt for andre processer at få adgang til disse filer.
Lad os se på et simpelt program, der gør brug af Midlertidig fil () fungere:
importer osimporter tempfile
# Brug af PID i filnavn for bedre identifikation
fil = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Tilbyder filtilstand
temp_file = åben (fil, 'w + b')
prøve:
udskriv ('temp_file: 0'.format (temp_file))
udskriv ('temp_file.navn: 0 '.format (temp_file.navn))
langt om længe:
temp_file.tæt()
# Sletning af midlertidig fil selv
os.fjern (fil)
print ('TemporaryFile Metadata:')
temp_file = tempfile.Midlertidig fil ()
prøve:
udskriv ('temp_file: 0'.format (temp_file))
udskriv ('temp_file.navn: 0 '.format (temp_file.navn))
langt om længe:
# Rydder op i filen, når tæt kaldes
temp_file.tæt()
Her er hvad vi kommer tilbage med denne kommando:
Opretter midlertidig fil
Denne fil slettes, så snart tæt() funktion kaldes på tempfile reference.
Læsning fra midlertidig fil
Selv læsning fra en midlertidig fil er let og kan udføres i en enkelt metodeopkald i det samme modul. Fordelen med denne funktion er, at det hjælper os med at undgå komplekse IO-operationer involveret, hvis vi har brug for at udføre disse operationer manuelt. Her er et program, der viser denne funktion i aktion:
importer osimporter tempfile
tempFile = tempfile.Midlertidig fil ()
prøve:
print ('Skrivning af data til tempFile:')
tempFile.skriv (b'Enhver data kan gå her.')
tempFile.søg (0)
print ('Læsning af formular tempFile: \ n \ t 0'.format (tempFile.Læs()))
langt om længe:
tempFile.tæt()
Lad os se output for denne kommando:
Python læses fra midlertidig fil
Al teksten i de midlertidige filer blev leveret tilbage med et enkelt metodeopkald.
Skrivning af almindelig tekst i midlertidig fil
I vores ovennævnte programmer var alle data, der blev skrevet til filer, ikke i form af simpelt almindeligt tekstformat. Hvis vi vil gøre det til enkle teksthandlinger, kan vi bare ændre filtilstanden, når vi åbner den midlertidige fil til ændringer:
importer tempfilefileMode = 'w + t'
med tempfile.TemporaryFile (mode = fileMode) som fil:
fil.writelines (['Linux \ n', 'Ubuntu \ n'])
fil.søg (0)
for vare i arkivet:
udskrive (vare.rstrip ())
Her er hvad vi kommer tilbage med denne kommando:
Skrivning af almindelig tekst i filen
Oprettelse af navngivne midlertidige filer
De filer, der skal spændes over flere processer, skal navngives, så en proces ikke sletter dem, når den er afsluttet. Sådan opretter vi en midlertidig navngivet fil:
importer osimporter tempfile
tempFile = tempfile.NamedTemporaryFile ()
prøve:
print ('tempFile: 0'.format (tempFile))
print ('temp.tempFile: 0 '.format (tempFile.navn))
langt om længe:
# Sletning af filen også
tempFile.tæt()
print ('Findes findes? : 0 '.format (os.sti.findes (tempFile.navn)))
Lad os se output for denne kommando:
Navngivet tempfile
Hvis vi ikke sletter filen, kan vi kontrollere, om den findes i et andet program, og bruge den, hvis den findes på det angivne sted.
Tilvejebringelse af filnavn Suffiks og præfiks
For nemt at identificere de filer, der hører til vores egne processer på filsystemet, kan vi også anvende Suffix og Prefix på filnavnet:
importer tempfiletempFile = tempfile.NamedTemporaryFile (suffiks = '_ ubuntu',
præfiks = 'linuxhint_',
dir = '/ tmp',)
prøve:
print ('tempFile:', tempFile)
print ('tempFile.navn: ', tempFile.navn)
langt om længe:
tempFile.tæt()
Her er hvad vi kommer tilbage med denne kommando:
Anvender præfiks og suffiks til filnavnet
Vi leverede tre parametre til metoden, der fungerer som suffiks og præfiks for filnavnet, der vil blive gjort til den placering, vi specificerede.
Konklusion
I denne lektion så vi på, hvordan vi kan bruge Python tempfile-modul til at administrere midlertidige filer i vores kode. Læs flere Python-baserede indlæg her.