„Python“

„Python“ tempfile modulis

„Python“ tempfile modulis
Dažnai savo programose turime saugoti tam tikrą laikiną informaciją apie programos būseną ir objektus, kurie gali būti ar negali gyventi virš pačios programos būsenos. Šiuose failuose išsaugoti duomenys gali būti ne žmonėms suprantamos ar net tokios formos, kurią galėtų naudoti visi, tačiau kai kurios programos, algoritmai ar įsilaužėliai gali rasti būdą, kaip gauti iš šių duomenų informaciją, kuri gali paaukoti sistemos saugumas. Taigi, turime sukurti logiką, kuri sukuria šiuos failus, parašyti duomenis ir ištrinti failus. Kas būtų, jei mūsų programoje būtų kažkas, kas išskiria tiek daug operacijų? Panašu, kad „Python“ yra tas pats modulis tempfile modulis.

Pavyzdžiai su tempfile moduliu

Pradėsime nuo paprastų „Python“ pavyzdžių tempfile modulį čia.

Laikinų failų kūrimas

Pirmas dalykas, kurio reikia norint išsaugoti laikinus duomenis, yra failai, kuriuose galime saugoti šiuos duomenis. Tai galima padaryti naudojant Laikinas failas () funkcija. Didžiausias šios funkcijos privalumas yra tai, kai failas sukuriamas naudojant šią funkciją, sistemos failų sistemoje nėra jokių nuorodų į šį failą, todėl kitiems procesams negalima pasiekti šių failų.

Pažvelkime į paprastą programą, kurioje naudojamas Laikinas failas () funkcija:

importuoti os
importuoti tempfile
# PID naudojimas failo pavadinime, siekiant geriau identifikuoti
failas = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Failo režimo teikimas
temp_file = atidaryti (failas, 'w + b')
bandyti:
spausdinti ('temp_file: 0'.formatas (temp_file))
spausdinti ('temp_file.vardas: 0 '.formatas (temp_file.vardas))
pagaliau:
temp_file.Uždaryti()
# Laikinas failas ištrinamas patys
os.pašalinti (failas)
spausdinti ('TemporaryFile metadata:')
temp_file = tempfile.Laikinas failas ()
bandyti:
spausdinti ('temp_file: 0'.formatas (temp_file))
spausdinti ('temp_file.vardas: 0 '.formatas (temp_file.vardas))
pagaliau:
# Išvalo failą, kai vadinamas uždarymas
temp_file.Uždaryti()

Štai ką mes grąžiname naudodami šią komandą:

Kuriamas laikinas failas

Šis failas ištrinamas, kai tik Uždaryti() funkcija iškviečiama tempfile nuoroda.

Skaitymas iš laikinos bylos

Net skaityti iš laikino failo yra lengva ir tai galima padaryti vienu metodu iškvietus tą patį modulį. Šios funkcijos privalumas yra tas tai padeda mums išvengti sudėtingų IO operacijų jei mums reikia šias operacijas atlikti rankiniu būdu. Čia yra programa, rodanti šią funkciją:

importuoti os
importuoti tempfile
tempFile = tempfile.Laikinas failas ()
bandyti:
spausdinti ('Duomenų rašymas į tempFile:')
tempFile.rašyti („Bet kokie duomenys gali būti čia.„)
tempFile.ieškoti (0)
spausdinti ('Skaitoma duomenų formos tempFile: \ n \ t 0'.formatas (tempFile.skaityti ()))
pagaliau:
tempFile.Uždaryti()

Pažiūrėkime šios komandos išvestį:

„Python“ skaitytas iš laikino failo

Visam laikinųjų failų tekstui buvo pateiktas vieno metodo iškvietimas.

Paprasto teksto rašymas į laikiną failą

Mūsų pirmiau nurodytose programose visi į failus įrašyti duomenys nebuvo paprasto paprasto teksto formato. Jei norime tai padaryti paprastoms teksto operacijoms, atidarę laikiną failą modifikacijoms galime tiesiog modifikuoti failo režimą:

importuoti tempfile
fileMode = 'w + t'
su tempfile.Laikinas failas (mode = fileMode) kaip failas:
failą.scenarijų linijos (['Linux \ n', 'Ubuntu \ n'])
failą.ieškoti (0)
faile esančiam elementui:
spausdinti (prekė.rstrip ())

Štai ką mes grąžiname naudodami šią komandą:

Rašymas paprasto teksto į failą

Pavadintų laikinų failų kūrimas

Failai, kuriuos reikia apimti keliuose procesuose, turi būti įvardyti, kad procesas jų neištrintų, kai jis bus baigtas. Štai kaip galime sukurti laikiną pavadintą failą:

importuoti os
importuoti tempfile
tempFile = tempfile.„NamedTemporaryFile“ ()
bandyti:
spausdinti ('tempFile: 0'.formatas (tempFile))
spausdinti ('temp.tempFile: 0 '.formatas (tempFile.vardas))
pagaliau:
# Taip pat ištrinamas failas
tempFile.Uždaryti()
spausdinti ('Ar yra? : 0 '.formatas (os.kelias.egzistuoja (tempFile.vardas)))

Pažiūrėkime šios komandos išvestį:

Pavadinta tempfile

Jei neištrinsime failo, galime patikrinti jo egzistavimą kitoje programoje ir naudoti jį, jei jis egzistuoja nurodytoje vietoje.

Pateikti failo vardo galūnę ir priešdėlį

Norėdami lengvai identifikuoti failus, kurie priklauso mūsų pačių procesams failų sistemoje, failo pavadinime taip pat galime pritaikyti galūnę ir priešdėlį:

importuoti tempfile
tempFile = tempfile.„NamedTemporaryFile“ (priesaga = '_ ubuntu',
priešdėlis = 'linuxhint_',
dir = '/ tmp',)
bandyti:
spausdinti ('tempFile:', tempFile)
spausdinti ('tempFile.pavadinimas: ', tempFile.vardas)
pagaliau:
tempFile.Uždaryti()

Štai ką mes grąžiname naudodami šią komandą:

Failo vardui pridedamas priešdėlis ir priesaga

Pateikėme tris parametrus metodui, kuris veikia kaip failo pavadinimo galūnė ir priešdėlis, kuris bus padarytas nurodytoje vietoje.

Išvada

Šioje pamokoje apžvelgėme, kaip galime naudoti „Python“ tempfile modulį tvarkydami laikinus failus savo kode. Skaitykite daugiau „Python“ pagrįstų įrašų čia.

Kaip padidinti FPS sistemoje „Linux“?
FPS reiškia Kadrai per sekundę. FPS užduotis yra išmatuoti kadrų greitį atkuriant vaizdo įrašus ar žaidimus. Paprastais žodžiais, nepertraukiamų viso ...
Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...
10 geriausių žaidimų, kuriuos reikia žaisti naudojant „Ubuntu“
„Windows“ platforma buvo viena iš dominuojančių žaidimų platformų dėl didžiulio procento žaidimų, kurie šiandien kuriami natūraliai palaikant „Windows...