Exempel med tempfile-modul
Vi börjar med enkla exempel med Python tempfile här.
Skapa tillfälliga filer
Det första som behövs för att spara tillfällig data är filerna där vi kan lagra dessa data. Detta kan göras med hjälp av TemporaryFile () fungera. Den största fördelen med den här funktionen är när en fil skapas med den här funktionen, inga länkar till den här filen skapas i systemets filsystem och det är därför inte möjligt för andra processer att komma åt dessa filer.
Låt oss titta på ett enkelt program som använder TemporaryFile () fungera:
importera osimportera tempfile
# Använda PID i filnamn för bättre identifiering
fil = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Tillhandahåller filläge
temp_file = öppen (fil, 'w + b')
Prova:
skriv ut ('temp_file: 0'.format (temp_file))
skriv ut ('temp_file.namn: 0 '.format (temp_file.namn))
till sist:
temp_file.stänga()
# Ta bort tillfällig fil själv
os.ta bort fil)
skriva ut ('TemporaryFile Metadata:')
temp_file = tempfile.TemporaryFile ()
Prova:
skriv ut ('temp_file: 0'.format (temp_file))
skriv ut ('temp_file.namn: 0 '.format (temp_file.namn))
till sist:
# Rensar upp filen när nära anropas
temp_file.stänga()
Här är vad vi får tillbaka med det här kommandot:
Skapar tillfällig fil
Den här filen raderas så snart stänga() funktionen kallas på tempfile referens.
Läser från tillfällig fil
Det är enkelt att läsa från en tillfällig fil och kan göras i en enda metodanrop i samma modul. Fördelen med denna funktion är att det hjälper oss att undvika komplexa IO-operationer involverade om vi behöver göra dessa operationer manuellt. Här är ett program som visar denna funktion i aktion:
importera osimportera tempfile
tempFile = tempfile.TemporaryFile ()
Prova:
skriv ut ('Skriva data till tempFile:')
tempFile.skriv (b'Any data kan gå här.')
tempFile.söka (0)
skriv ut ('Läser dataform tempFile: \ n \ t 0'.format (tempFile.läsa()))
till sist:
tempFile.stänga()
Låt oss se utdata för det här kommandot:
Python läst från tillfällig fil
All text i de tillfälliga filerna fick ett samtalsmetod.
Skriva vanlig text i tillfällig fil
I våra program ovan var all data som skrivits till filer inte i form av enkelt klartextformat. Om vi vill göra det för enkla textåtgärder kan vi bara ändra filläget när vi öppnar den tillfälliga filen för modifieringar:
importera tempfilefileMode = 'w + t'
med tempfile.TemporaryFile (mode = fileMode) som fil:
fil.skrivlinjer (['Linux \ n', 'Ubuntu \ n'])
fil.söka (0)
för post i filen:
skriva ut (artikel.rstrip ())
Här är vad vi får tillbaka med det här kommandot:
Skriva vanlig text i filen
Skapa namngivna tillfälliga filer
De filer som måste spännas över flera processer måste namnges så att en process inte tar bort dem när den är klar. Så här kan vi skapa en tillfällig namngiven fil:
importera osimportera tempfile
tempFile = tempfile.NamedTemporaryFile ()
Prova:
skriv ut ('tempFile: 0'.format (tempFile))
skriva ut ('temp.tempFile: 0 '.format (tempFile.namn))
till sist:
# Ta bort filen också
tempFile.stänga()
skriv ut ('Finns finns? : 0 '.format (os.väg.existerar (tempFile.namn)))
Låt oss se utdata för det här kommandot:
Namngivet tempfile
Om vi inte tar bort filen kan vi kontrollera om den finns i ett annat program och använda den om den finns på den angivna platsen.
Tillhandahåller filnamn Suffix och prefix
För att enkelt identifiera de filer som tillhör våra egna processer i filsystemet kan vi också använda Suffix och Prefix på filnamnet:
importera tempfiletempFile = tempfile.NamedTemporaryFile (suffix = '_ ubuntu',
prefix = 'linuxhint_',
dir = '/ tmp',)
Prova:
skriv ut ('tempFile:', tempFile)
skriv ut ('tempFile.namn: ', tempFile.namn)
till sist:
tempFile.stänga()
Här är vad vi får tillbaka med det här kommandot:
Tillämpar prefix och suffix i filnamnet
Vi tillhandahöll tre parametrar för metoden som fungerar som suffix och prefix för filnamnet som kommer att göras till den plats vi angav.
Slutsats
I den här lektionen tittade vi på hur vi kan använda Python tempfile-modul för att hantera tillfälliga filer i vår kod. Läs mer Python-baserade inlägg här.