Python

Modul tempfile Pythonu

Modul tempfile Pythonu
V našich programoch musíme často ukladať dočasné informácie o stave programu a objektoch, ktoré môžu alebo nemusia žiť mimo stavu samotného programu. Údaje, ktoré sú uložené v týchto súboroch, nemusia byť v čitateľnej podobe alebo dokonca v podobe, ktorú môže použiť ktokoľvek, iba niektoré programy, algoritmy alebo hackeri nájdu spôsob, ako z týchto údajov získať informácie, ktoré môžu obetovať bezpečnosť systému. Musíme teda vytvoriť logiku, ktorá tieto súbory vytvorí, zapísať nejaké údaje a potom súbory tiež odstrániť. Čo keby v našom programe bolo niečo, čo abstrahuje toľko operácií? Zdá sa, že v Pythone je modul pre to isté dočasný súbor modul.

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 os
importovať 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 os
importovať 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úbor
fileMode = '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 os
importovať 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úbor
tempFile = 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.

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...