Példák tempfile modullal
A Python egyszerű példáival kezdjük tempfile modul itt.
Ideiglenes fájlok létrehozása
Az ideiglenes adatok mentéséhez először azok a fájlok szükségesek, amelyekben tárolhatjuk ezeket az adatokat. Ez a TemporaryFile () funkció. A legnagyobb előnye ennek a funkciónak az, amikor egy fájlt ezzel a funkcióval hoznak létre, és a rendszer fájlrendszerében nem történik hivatkozás erre a fájlra, így más folyamatok nem férhetnek hozzá ezekhez a fájlokhoz.
Nézzünk meg egy egyszerű programot, amely a TemporaryFile () funkció:
import osimport tempfile
# A PID használata a fájlnévben a jobb azonosítás érdekében
file = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Fájl mód biztosítása
temp_file = open (fájl, 'w + b')
próbáld ki:
print ('temp_file: 0'.formátum (temp_file))
print ('temp_file.név: 0 '.formátum (temp_file.név))
végül:
temp_file.Bezárás()
# Ideiglenes fájl törlése
os.eltávolít (fájl)
nyomtatás ('TemporaryFile Metadata:')
temp_file = tempfile.TemporaryFile ()
próbáld ki:
print ('temp_file: 0'.formátum (temp_file))
print ('temp_file.név: 0 '.formátum (temp_file.név))
végül:
# Megtisztítja a fájlt, amikor bezárást hívnak
temp_file.Bezárás()
Íme, amit ezzel a paranccsal kapunk vissza:
Ideiglenes fájl létrehozása
Ez a fájl törlődik, amint a Bezárás() függvényt hívjuk meg a tempfile referencia.
Olvasás ideiglenes fájlból
Még az ideiglenes fájlból történő olvasás is egyszerű, és egyetlen módszerrel meghívható ugyanabban a modulban. Ennek a funkciónak az az előnye, hogy ez segít elkerülni az összetett IO műveleteket ha ezeket a műveleteket manuálisan kell elvégeznünk. Itt van egy program, amely ezt a funkciót mutatja működés közben:
import osimport tempfile
tempFile = tempfile.TemporaryFile ()
próbáld ki:
print ('Adatok írása a tempFile-be:')
tempFile.írj (b'Bármilyen adat ide kerülhet.')
tempFile.keresni (0)
print ('Az adatlap tempFile olvasása: \ n \ t 0'.formátum (tempFile.olvas()))
végül:
tempFile.Bezárás()
Lássuk a parancs kimenetét:
A Python ideiglenes fájlból olvas
Az ideiglenes fájlokban található összes szöveget egyetlen módszerrel hívták vissza.
Sima szöveg írása ideiglenes fájlba
A fenti programjainkban a fájlokba írt összes adat nem egyszerű egyszerű szöveges formátum volt. Ha egyszerű szöveges műveletekhez szeretnénk megtenni, akkor egyszerűen módosíthatjuk a fájl módját, amikor megnyitjuk az ideiglenes fájlt a módosításokhoz:
import tempfilefileMode = 'w + t'
tempfile-lal.TemporaryFile (mode = fileMode) fájlként:
fájl.writelines (['Linux \ n', 'Ubuntu \ n'])
fájl.keresni (0)
a fájlban található elemhez:
nyomtatás (tétel.rstrip ())
Íme, amit ezzel a paranccsal kapunk vissza:
Sima szöveg beírása a fájlba
Megnevezett ideiglenes fájlok létrehozása
A több folyamaton átívelő fájlokat meg kell nevezni, hogy a folyamat ne törölje őket, amikor elkészült. Így hozhatunk létre ideiglenes nevű fájlt:
import osimport tempfile
tempFile = tempfile.NamedTemporaryFile ()
próbáld ki:
print ('tempFile: 0'.formátum (tempFile))
print ('temp.tempFile: 0 '.formátum (tempFile.név))
végül:
# A fájl törlése is
tempFile.Bezárás()
print ('Létezik? : 0 '.formátum (os.pálya.létezik (tempFile.név)))
Lássuk a parancs kimenetét:
Nevezett tempfile
Ha nem töröljük a fájlt, akkor ellenőrizhetjük annak létezését egy másik programban, és felhasználhatjuk, ha létezik a megadott helyen.
Fájlnév utótag és előtag megadása
A fájlrendszeren a saját folyamatainkhoz tartozó fájlok egyszerű azonosításához alkalmazhatjuk az Utótagot és az Előtagot a fájlnévre is:
import tempfiletempFile = tempfile.NamedTemporaryFile (utótag = '_ ubuntu',
előtag = 'linuxhint_',
dir = '/ tmp',)
próbáld ki:
print ('tempFile:', tempFile)
print ('tempFile.név: ', tempFile.név)
végül:
tempFile.Bezárás()
Íme, amit ezzel a paranccsal kapunk vissza:
Előtag és utótag alkalmazása a fájlnévre
Három paramétert adtunk meg a metódushoz, amely utótagként és előtagként működik a fájlnévhez, amelyet a megadott helyre fogunk tenni.
Következtetés
Ebben a leckében megvizsgáltuk, hogyan használhatjuk a Python tempfile modult az ideiglenes fájlok kezelésére a kódunkban. További Python alapú bejegyzéseket itt olvashat.