Piton

Python tempfile modul

Python tempfile modul
Gyakran a programjainkban ideiglenes információkat kell tárolnunk a program állapotáról és az objektumokról, amelyek a program állapotán túl is élhetnek, vagy nem. Az ezekbe a fájlokba mentett adatok nem feltétlenül az ember által olvasható formában vagy akár olyan formában is használhatók, amelyet bárki használhat, de egyes programok, algoritmusok vagy hackerek megtalálják a módját, hogy információkat szerezzenek ezekből az adatokból, amelyek feláldozhatják a a rendszer biztonsága. Tehát létre kell hoznunk egy logikát, amely létrehozza ezeket a fájlokat, írjon néhány adatot, majd törölje a fájlokat is. Mi lenne, ha lenne valami, ami annyi műveletet von le a programunkból? Úgy tűnik, hogy van egy modul a Python-ban ugyanarra, a tempfile modul.

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 os
import 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 os
import 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 tempfile
fileMode = '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 os
import 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 tempfile
tempFile = 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.

Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...
OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...