Lentynos naudojimas objektams išsaugoti „Python“

Lentynos yra galingas Python modulis, skirtas objekto išlikimui. Kai lentyną sudarote su daiktu, turite priskirti raktą, pagal kurį būtų žinoma objekto vertė. Tokiu būdu lentynos failas tampa saugomų reikšmių duomenų baze, su kuria bet kurią bet kada galite patekti.

„Python“ lentynos pavyzdinis kodas

Objekto lentynai pirmiausia importuokite modulį ir paskirkite objekto vertę taip:

 importo lentyna 
duomenų bazė = shelve.open (failo vardas.suffix)
objektas = objektas ()
duomenų bazė ['raktas'] = objektas

Pavyzdžiui, jei norite laikyti atsargų duomenų bazę, galėtumėte pritaikyti šį kodą:

 importo lentyna 
stockvalues_db = shelve.open ('stockvalues.db')
object_ibm = Values.ibm ()
stockvalues_db ['ibm'] = objekto_ibm
object_vmw = Values.vmw ()
stockvalues_db ['vmw'] = object_vmw
object_db = Vertės.db ()
stockvalues_db ['db'] = object_db

„Atsargų vertės.db“ jau atidarytas, jums jo nereikia atidaryti dar kartą. Greičiau galite atidaryti kelias duomenų bazes vienu metu, rašyti kiekvienai norėdami ir išeiti

instagram viewer
Python uždaryti juos pasibaigus programai. Pvz., Galite laikyti atskirą kiekvieno simbolio vardų duomenų bazę, pridedami prie ankstesnio kodo:

 ## darant prielaidą, kad lentyna jau importuota 
stocknames_db = shelve.open ('stocknames.db')
objectname_ibm = Vardai.ibm ()
stocknames_db ['ibm'] = objekto vardas_ibmas
objectname_vmw = Vardai.vmw ()
stocknames_db ['vmw'] = objekto vardas_vmw
objectname_db = Vardai.db ()
stocknames_db ['db'] = objekto vardas_db

Atminkite, kad bet koks duomenų bazės failo pavadinimo ar priesagos pakeitimas yra skirtingas failas, taigi ir skirtinga duomenų bazė.

Rezultatas yra antrasis duomenų bazės failas, kuriame yra nurodytos vertės. Skirtingai nuo daugelio failų, parašytų savais formatais, lentynos yra duomenų bazėse išsaugota dvejetainėje formoje.

Įrašę duomenis į failą, juos bet kada galėsite atšaukti. Jei norite atkurti duomenis vėlesnėje sesijoje, iš naujo atidarykite failą. Jei tai yra ta pati sesija, tiesiog priminkite vertę; lentyna duomenų bazės failai atidaromos skaitymo-rašymo režimu. Tai yra pagrindinė sintaksė, norint tai pasiekti:

 importo lentyna 
duomenų bazė = shelve.open (failo vardas.suffix)
objektas = duomenų bazė ['raktas']

Ankstesnio pavyzdžio pavyzdys būtų toks:

 importo lentyna 
„stockname_file = shelve.open“ („stocknames.db“)
„stockname_ibm = stockname_file ['ibm']
akcijų pavadinimas_db = akcijų pavadinimas_failas ['db']

Svarstymai su lentyna

Svarbu atkreipti dėmesį, kad duomenų bazė išliktų atvira, kol ją uždarysite (arba kol programa baigsis). Todėl, jei jūs rašote bet kokio dydžio programą, norite uždaryti duomenų bazę, dirbdami su ja. Kitu atveju visa duomenų bazė (ne tik norima reikšmė) yra atmintyje ir sunaudojama skaičiavimo ištekliai.

Norėdami uždaryti lentynos failą, naudokite šią sintaksę:

 duomenų bazė.uždaryti () 

Jei visi aukščiau pateikti kodo pavyzdžiai būtų įtraukti į vieną programą, tada du duomenų bazės failai būtų atidaryti ir sunaudotų atminties. Taigi, perskaitę akcijų pavadinimus ankstesniame pavyzdyje, galėtumėte uždaryti kiekvieną duomenų bazę taip:

 stockvalues_db.close () 
stocknames_db.close ()
„stockname_file.close“)

instagram story viewer