Hyllyn avulla objektien tallentaminen Pythonissa

click fraud protection

Hylly on tehokas Python-moduuli esineiden pysyvyyteen. Kun hyllyt esineen, sinun on määritettävä avain, jolla kohteen arvo tunnetaan. Tällä tavalla hyllytiedostosta tulee tallennettujen arvojen tietokanta, johon tahansa voi päästä milloin tahansa.

Python-hyllyn mallikoodi

Objektin hyllyttämiseksi tuo ensin moduuli ja määritä sitten objektiarvo seuraavasti:

 tuo hylly 
tietokanta = hylly.open (tiedostonimi.suffix)
esine = esine ()
tietokanta ['avain'] = objekti

Jos haluat pitää esimerkiksi varastojen tietokantaa, voit mukauttaa seuraavan koodin:

 tuo hylly 
stockvalues_db = shelve.open ('stockvalues.db')
object_ibm = Arvot.ibm ()
stockvalues_db ['ibm'] = objekti_ibm
object_vmw = Arvot.vmw ()
stockvalues_db ['vmw'] = object_vmw
object_db = Arvot.db ()
stockvalues_db ['db'] = object_db

"Osakearvot.db" on jo avattu, sinun ei tarvitse avata sitä uudestaan. Sen sijaan voit avata useita tietokantoja kerrallaan, kirjoittaa jokaiselle halutessasi ja lähteä pytonkäärme sulkea ne, kun ohjelma päättyy. Voit esimerkiksi pitää erillisen tietokannan nimistä jokaiselle symbolille, liittämällä seuraavan edelliseen koodiin:

instagram viewer

 ## olettaen, että hylly on jo tuotu 
stocknames_db = shelve.open ('stocknames.db')
objectname_ibm = Nimet.ibm ()
stocknames_db ['ibm'] = objektinimi_ibm
objectname_vmw = Nimet.vmw ()
stocknames_db ['vmw'] = objektinimi_vmw
objectname_db = Nimet.db ()
stocknames_db ['db'] = objektinimi_db

Huomaa, että kaikki muutokset tietokantatiedoston nimessä tai jälkiliitteessä ovat eri tiedosto ja siten eri tietokanta.

Tuloksena on toinen tietokantatiedosto, joka sisältää annetut arvot. Toisin kuin useimmat tiedostot, jotka on kirjoitettu itse muotoillussa muodossa, hyllylliset tietokannat ovat Tallennetut binaarimuodossa.

Kun tiedot on kirjoitettu tiedostoon, ne voidaan palauttaa milloin tahansa. Jos haluat palauttaa tiedot myöhemmässä istunnossa, avaa tiedosto uudelleen. Jos se on sama istunto, muista arvo vain. hylly tietokantatiedostot avataan luku-kirjoitus-tilassa. Seuraava on perussintaksi tämän saavuttamiseksi:

 tuo hylly 
tietokanta = hylly.open (tiedostonimi.suffix)
esine = tietokanta ['avain']

Joten näyte edellisestä esimerkistä olisi seuraava:

 tuo hylly 
stockname_file = shelve.open ('stocknames.db')
stockname_ibm = stockname_file ['ibm']
stockname_db = stockname_file ['db']

Huomioita hyllyllä

On tärkeää huomata, että tietokanta pysyy auki, kunnes suljet sen (tai kunnes ohjelma päättyy). Siksi, jos kirjoitat minkä tahansa kokoista ohjelmaa, haluat sulkea tietokannan sen jälkeen, kun olet työskennellyt sen kanssa. Muussa tapauksessa koko tietokanta (ei vain haluamasi arvo) mahtuu muistiin ja kuluttaa laskentaresurssit.

Voit sulkea hyllytiedoston seuraavalla syntaksilla:

 database.close () 

Jos kaikki yllä olevat koodiesimerkit sisällytettäisiin yhteen ohjelmaan, meillä olisi tässä vaiheessa kaksi tietokantatiedostoa avoinna ja kuluttamassa muistia. Joten kun olet lukenut edellisen esimerkin osakekannat, voit sulkea jokaisen tietokannan vuorotellen seuraavasti:

 stockvalues_db.close () 
stocknames_db.close ()
stockname_file.close ()

instagram story viewer