Príklady s dočasným modulom
Začneme jednoduchými príkladmi s Pythonom dočasný súbor modul tu.
Vytváranie dočasných súborov
Prvá vec nevyhnutná na uloženie dočasných údajov sú súbory, kam ich môžeme uložiť. To je možné vykonať pomocou TemporaryFile () funkcia. Najväčšou výhodou tejto funkcie je, keď je súbor vytvorený pomocou tejto funkcie, v súborovom systéme systému nie sú vytvorené žiadne odkazy na tento súbor, a preto nie je možné, aby k týmto súborom mali prístup iné procesy.
Pozrime sa na jednoduchý program, ktorý využíva TemporaryFile () funkcia:
import osimportovať dočasný súbor
# Použitie PID v názve súboru pre lepšiu identifikáciu
file = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Poskytovanie režimu súborov
temp_file = open (súbor, 'w + b')
skúste:
print ('temp_file: 0'.format (temp_file))
print ('temp_file.meno: 0 '.formát (temp_file.názov))
nakoniec:
temp_file.Zavrieť()
# Samotné mazanie dočasného súboru
os.odstrániť (súbor)
print ('TemporaryFile Metadata:')
temp_file = tempfile.TemporaryFile ()
skúste:
print ('temp_file: 0'.format (temp_file))
print ('temp_file.meno: 0 '.formát (temp_file.názov))
nakoniec:
# Vymaže súbor, keď sa volá zavrieť
temp_file.Zavrieť()
S týmto príkazom sa dostaneme späť:
Vytvára sa dočasný súbor
Tento súbor je odstránený hneď po Zavrieť() funkcia sa volá na dočasný súbor odkaz.
Čítanie z dočasného súboru
Aj čítanie z dočasného súboru je jednoduché a dá sa vykonať jediným volaním metódy v rovnakom module. Výhodou tejto funkcie je, že pomáha nám vyhnúť sa zložitým operáciám IO ak potrebujeme tieto operácie robiť ručne. Tu je program zobrazujúci túto funkciu v akcii:
import osimportovať dočasný súbor
tempFile = tempfile.TemporaryFile ()
skúste:
print ('Zápis údajov do súboru tempFile:')
tempFile.napísať (b'Akékoľvek údaje môžu ísť sem.")
tempFile.hľadať (0)
print ('Čítanie dátového formulára tempFile: \ n \ t 0'.formát (tempFile.čítať()))
nakoniec:
tempFile.Zavrieť()
Pozrime sa na výstup pre tento príkaz:
Python načítaný z dočasného súboru
Celý text v dočasných súboroch bol poskytnutý späť pomocou jediného volania metódy.
Zápis obyčajného textu do dočasného súboru
V našich vyššie uvedených programoch nemali všetky údaje zapisované do súborov formu jednoduchého obyčajného textu. Ak to chceme urobiť pre jednoduché textové operácie, môžeme len upraviť režim súboru, keď otvoríme dočasný súbor pre úpravy:
importovať dočasný súborfileMode = 'w + t'
s dočasným súborom.TemporaryFile (mode = fileMode) ako súbor:
spis.spisové riadky ([['Linux \ n', 'Ubuntu \ n']))
spis.hľadať (0)
pre položku v súbore:
tlač (položka.rstrip ())
S týmto príkazom sa dostaneme späť:
Zápis obyčajného textu do súboru
Vytváranie dočasných súborov s názvom
Súbory, ktoré je potrebné rozložiť na viac procesov, musia byť pomenované, aby ich proces po dokončení neodstránil. Takto môžeme vytvoriť dočasný pomenovaný súbor:
import osimportovať dočasný súbor
tempFile = tempfile.NamedTemporaryFile ()
skúste:
print ('tempFile: 0'.formát (tempFile))
print ('tepl.tempFile: 0 '.formát (tempFile.názov))
nakoniec:
# Vymazanie súboru rovnako
tempFile.Zavrieť()
print ('Existuje? : 0 '.formát (os.cesta.existuje (tempFile.názov)))
Pozrime sa na výstup pre tento príkaz:
Pomenovaný dočasný súbor
Ak súbor nevymažeme, môžeme skontrolovať jeho existenciu v inom programe a použiť ho, ak na danom mieste existuje.
Poskytnutie názvu súboru Prípona a Predpona
Na ľahkú identifikáciu súborov, ktoré patria k našim vlastným procesom v súborovom systéme, môžeme na názov súboru použiť aj príponu a predponu:
importovať dočasný súbortempFile = tempfile.NamedTemporaryFile (prípona = '_ ubuntu',
prefix = 'linuxhint_',
dir = '/ tmp',)
skúste:
print ('tempFile:', tempFile)
print ('tempFile.name: ', tempFile.názov)
nakoniec:
tempFile.Zavrieť()
S týmto príkazom sa dostaneme späť:
Aplikácia predpony a prípony na názov súboru
Metóde, ktorá funguje ako prípona a predpona pre názov súboru, sme poskytli tri parametre, ktoré sa stanú umiestnením, ktoré sme zadali.
Záver
V tejto lekcii sme sa pozreli na to, ako môžeme využiť modul tempfile Pythonu na správu dočasných súborov v našom kóde. Prečítajte si viac príspevkov založených na Pythone tu.