Piton

Python tempfile modul

Python tempfile modul
Često u našim programima trebamo pohraniti neke privremene informacije o stanju programa i objektima koji mogu ili ne moraju živjeti izvan stanja samog programa. Podaci koji se spremaju u ove datoteke možda neće biti u čitljivom obliku ili čak u obliku koji može koristiti bilo tko, ali neki programi, algoritmi ili hakeri mogu pronaći način da iz tih podataka izvuku podatke koji mogu žrtvovati sigurnost sustava. Dakle, moramo stvoriti logiku koja stvara te datoteke, napisati neke podatke, a zatim i datoteke izbrisati. Što ako u našem programu postoji nešto što apstrahira toliko operacija? Čini se da u Pythonu postoji modul za isti, privremena datoteka modul.

Primjeri s modulom tempfile

Započet ćemo s jednostavnim primjerima s Pythonom privremena datoteka modul ovdje.

Stvaranje privremenih datoteka

Prvo što je potrebno za spremanje privremenih podataka su datoteke u koje možemo pohraniti te podatke. To se može učiniti pomoću Privremena datoteka () funkcija. Najveća prednost ove funkcije je kada se datoteka kreira s ovom funkcijom, u datotečnom sustavu sustava ne postoje veze do te datoteke, pa drugim procesima nije moguće pristupiti tim datotekama.

Pogledajmo jednostavan program koji koristi Privremena datoteka () funkcija:

uvoz os
uvoz tempfile
# Korištenje PID-a u nazivu datoteke za bolju identifikaciju
datoteka = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Pružanje načina datoteke
temp_file = otvori (datoteka, 'w + b')
probati:
print ('privremena datoteka: 0'.format (privremena datoteka))
print ('privremena datoteka.ime: 0 '.format (temp_file.Ime))
konačno:
privremena datoteka.Zatvoriti()
# Mi sami brišemo privremenu datoteku
os.ukloni (datoteka)
print ('Privremeni metapodaci datoteke:')
temp_file = tempfile.Privremena datoteka ()
probati:
print ('privremena datoteka: 0'.format (privremena datoteka))
print ('privremena datoteka.ime: 0 '.format (temp_file.Ime))
konačno:
# Čisti datoteku kad se pozove close
privremena datoteka.Zatvoriti()

Evo što vraćamo ovom naredbom:

Izrada privremene datoteke

Ova se datoteka briše čim se Zatvoriti() funkcija se poziva na privremena datoteka referenca.

Čitanje iz privremene datoteke

Čak je i čitanje iz privremene datoteke jednostavno i može se obaviti jednim pozivom metode u istom modulu. Prednost ove funkcije je u tome pomaže nam da izbjegnemo složene IO operacije uključeni ako trebamo raditi ove operacije ručno. Evo programa koji prikazuje ovu funkciju na djelu:

uvoz os
uvoz tempfile
tempFile = tempfile.Privremena datoteka ()
probati:
print ('Zapisivanje podataka u tempFile:')
tempFile.write (b'Svi podaci mogu ići ovdje.')
tempFile.tražiti (0)
print ('Čitanje obrasca podataka tempFile: \ n \ t 0'.format (tempFile.čitati()))
konačno:
tempFile.Zatvoriti()

Pogledajmo izlaz za ovu naredbu:

Python čita iz privremene datoteke

Sav tekst u privremenim datotekama vraćen je jednim pozivom metode.

Zapisivanje običnog teksta u privremenu datoteku

U našim gore navedenim programima svi podaci zapisani u datoteke nisu bili u obliku jednostavnog formata običnog teksta. Ako to želimo učiniti za jednostavne tekstualne operacije, možemo samo izmijeniti način rada datoteke kada otvorimo privremenu datoteku za izmjene:

uvoz tempfile
fileMode = 'w + t'
s tempfileom.Privremena datoteka (način = fileMode) kao datoteka:
datoteka.linije za pisanje (['Linux \ n', 'Ubuntu \ n'])
datoteka.tražiti (0)
za stavku u datoteci:
ispis (stavka.rstrip ())

Evo što vraćamo ovom naredbom:

Upisivanje običnog teksta u datoteku

Stvaranje imenovanih privremenih datoteka

Datoteke koje trebaju biti obuhvaćene u više procesa moraju biti imenovane tako da ih postupak ne izbriše kad je dovršen. Evo kako možemo stvoriti privremenu imenovanu datoteku:

uvoz os
uvoz tempfile
tempFile = tempfile.NamedTemporaryFile ()
probati:
print ('tempFile: 0').format (tempFile))
print ('temp.tempFile: 0 '.format (tempFile.Ime))
konačno:
# Brisanje datoteke također
tempFile.Zatvoriti()
print ('Postoji li? : 0 '.format (os.staza.postoji (tempFile.Ime)))

Pogledajmo izlaz za ovu naredbu:

Imenovana tempfile

Ako datoteku ne izbrišemo, možemo provjeriti postoji li u drugom programu i upotrijebiti je ako postoji na navedenom mjestu.

Navođenje naziva datoteke Sufiks i prefiks

Da bismo lako prepoznali datoteke koje pripadaju našim vlastitim procesima u datotečnom sustavu, možemo primijeniti sufiks i prefiks i na naziv datoteke:

uvoz tempfile
tempFile = tempfile.NamedTemporaryFile (sufiks = '_ ubuntu',
prefiks = 'linuxhint_',
dir = '/ tmp',)
probati:
ispis ('tempFile:', tempFile)
print ('tempFile.ime: ', tempFile.Ime)
konačno:
tempFile.Zatvoriti()

Evo što vraćamo ovom naredbom:

Primjena prefiksa i sufiksa na naziv datoteke

Metodi koja je djelovala kao sufiks i prefiks dali smo tri parametra za naziv datoteke koja će biti mjesto koje smo naveli.

Zaključak

U ovoj smo lekciji pogledali kako možemo koristiti Python tempfile modul za upravljanje privremenim datotekama u našem kodu. Ovdje pročitajte više postova temeljenih na Pythonu.

Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...