Python

Modul začasne datoteke Python

Modul začasne datoteke Python
Pogosto moramo v naših programih shraniti nekaj začasnih informacij o stanju programa in predmetih, ki bi lahko živeli izven stanja samega programa ali ne. Podatki, ki so shranjeni v teh datotekah, morda niso v berljivi obliki ali celo v obliki, ki jo lahko uporablja kdorkoli, toda nekateri programi, algoritmi ali hekerji lahko najdejo način, kako iz teh podatkov pridobiti informacije, ki bi lahko žrtvovale varnost sistema. Torej moramo ustvariti logiko, ki ustvari te datoteke, zapisati nekaj podatkov in nato datoteke tudi izbrisati. Kaj če bi bilo v našem programu nekaj, kar odvzame toliko operacij? Zdi se, da v Pythonu obstaja modul za isti, tempfile modul.

Primeri modula tempfile

Začeli bomo s preprostimi primeri s Pythonom tempfile modul tukaj.

Ustvarjanje začasnih datotek

Prva stvar, ki je potrebna za shranjevanje začasnih podatkov, so datoteke, kamor jih lahko shranimo. To lahko storite z uporabo Začasna datoteka () funkcijo. Največja prednost te funkcije je, ko s to funkcijo ustvarite datoteko, v datotečnem sistemu sistema ni povezav do te datoteke, zato drugi procesi ne morejo dostopati do teh datotek.

Poglejmo si preprost program, ki uporablja Začasna datoteka () funkcija:

uvoz os
uvoz tempfile
# Uporaba PID v imenu datoteke za boljšo identifikacijo
datoteka = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Zagotavljanje datotečnega načina
temp_file = odprto (datoteka, 'w + b')
poskusite:
print ('temp_file: 0').format (temp_file))
print ('temp_file.ime: 0 '.format (temp_file.ime))
končno:
temp_file.zapri ()
# Brisanje začasne datoteke sami
os.odstrani (datoteka)
print ('Začasni metapodatki datoteke:')
temp_file = tempfile.Začasna datoteka ()
poskusite:
print ('temp_file: 0').format (temp_file))
print ('temp_file.ime: 0 '.format (temp_file.ime))
končno:
# Očisti datoteko, ko je poklican close
temp_file.zapri ()

Tukaj dobimo s tem ukazom:

Ustvarjanje začasne datoteke

Ta datoteka se izbriše takoj, ko se zapri () funkcija se pokliče na tempfile sklic.

Branje iz začasne datoteke

Tudi branje iz začasne datoteke je enostavno in se lahko izvede v enem samem klicu metode v istem modulu. Prednost te funkcije je v tem pomaga nam, da se izognemo zapletenim operacijam IO če moramo te operacije opraviti ročno. Tu je program, ki prikazuje to funkcijo v akciji:

uvoz os
uvoz tempfile
tempFile = tempfile.Začasna datoteka ()
poskusite:
print ('Zapisovanje podatkov v tempFile:')
tempFile.write (b'Vsi podatki lahko gredo sem.')
tempFile.iskati (0)
print ('Branje obrazca podatkov tempFile: \ n \ t 0'.format (tempFile.preberi ()))
končno:
tempFile.zapri ()

Poglejmo izhod za ta ukaz:

Python bere iz začasne datoteke

Vse besedilo v začasnih datotekah je bilo vrnjeno z enim samim klicem metode.

Zapis navadnega besedila v začasno datoteko

V naših zgornjih programih vsi podatki, zapisani v datoteke, niso bili v obliki preproste oblike navadnega besedila. Če želimo to narediti za preproste besedilne operacije, lahko samo spremenimo način datoteke, ko odpremo začasno datoteko za spremembe:

uvoz tempfile
fileMode = 'w + t'
s tempfile.TemporaryFile (mode = fileMode) kot datoteka:
mapa.zapisovalne črte (['Linux \ n', 'Ubuntu \ n'])
mapa.iskati (0)
za element v datoteki:
natisni (artikel.rstrip ())

Tukaj dobimo s tem ukazom:

Pisanje navadnega besedila v datoteko

Ustvarjanje poimenovanih začasnih datotek

Datoteke, ki jih je treba razširiti na več procesov, je treba poimenovati, da jih postopek ne izbriše, ko je končan. Tako lahko ustvarimo začasno poimenovano datoteko:

uvoz os
uvoz tempfile
tempFile = tempfile.NamedTemporaryFile ()
poskusite:
print ('tempFile: 0').format (tempFile))
print ('temp.tempFile: 0 '.format (tempFile.ime))
končno:
# Tudi brisanje datoteke
tempFile.zapri ()
print ('Ali obstaja? : 0 '.format (os.pot.obstaja (tempFile.ime)))

Poglejmo izhod za ta ukaz:

Poimenovana tempfile

Če datoteke ne izbrišemo, lahko preverimo njen obstoj v drugem programu in jo uporabimo, če obstaja na določenem mestu.

Navedba imena datoteke Pripona in predpona

Za enostavno prepoznavanje datotek, ki spadajo v naše procese v datotečnem sistemu, lahko tudi Suffix in Prefix uporabimo za ime datoteke:

uvoz tempfile
tempFile = tempfile.NamedTemporaryFile (pripona = '_ ubuntu',
predpona = 'linuxhint_',
dir = '/ tmp',)
poskusite:
print ('tempFile:', tempFile)
print ('tempFile.ime: ', tempFile.ime)
končno:
tempFile.zapri ()

Tukaj dobimo s tem ukazom:

Uporaba predpone in pripone za ime datoteke

Za metodo datoteke smo podali tri parametre, ki delujejo kot pripona in predpona za ime datoteke, ki bo postala lokacija, ki smo jo določili.

Zaključek

V tej lekciji smo preučili, kako lahko modul tempfile Python uporabimo za upravljanje začasnih datotek v naši kodi. Preberite več objav na osnovi Pythona tukaj.

Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...
Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...