Polc használata objektumok mentéséhez a Pythonban

A polc egy erőteljes Python-modul az objektumok fennmaradásához. Egy objektum polcra helyezésekor hozzá kell rendelnie egy kulcsot, amely alapján az objektum értéke ismert. Ilyen módon a polcfájl tárolt értékek adatbázisává válik, amelyek bármelyikére bármikor hozzáférhet.

Minta kód a Python polcára

Objektum polcként elõször importálja a modult, majd az alábbiak szerint rendelje hozzá az objektum értékét:

 import polc 
adatbázis = shelve.open (fájlnév.suffix)
objektum = objektum ()
adatbázis ['kulcs'] = objektum

Ha például adatbázist szeretne vezetni a készletekről, akkor adaptálhatja a következő kódot:

 import polc 
stockvalues_db = shelve.open ('stockvalues.db')
object_ibm = Values.ibm ()
stockvalues_db ['ibm'] = objektum_ibm
object_vmw = Values.vmw ()
stockvalues_db ['vmw'] = objektum_vmw
object_db = Értékek.db ()
stockvalues_db ['db'] = object_db

A "stock rights.db" már megnyílt, nem kell újra megnyitnia. Inkább egyszerre több adatbázist nyithat meg, írhat mindenkinek, és kiléphet Piton

instagram viewer
hogy bezárja őket, amikor a program leáll. Például külön-külön adatbázist vezethet az egyes szimbólumok elnevezéséről, az előző kódhoz csatolva:

 ## feltéve, hogy a polc már importált 
stocknames_db = shelve.open ('stocknames.db')
objectname_ibm = Nevek.ibm ()
stocknames_db ['ibm'] = objektumnév_ibm
objectname_vmw = Nevek.vmw ()
stocknames_db ['vmw'] = objektumnév_vmw
objectname_db = Nevek.db ()
stocknames_db ['db'] = objektumnév_db

Vegye figyelembe, hogy az adatbázis-fájl nevének vagy utótagjának bármilyen megváltoztatása más fájlt jelent, tehát egy másik adatbázist.

Az eredmény egy második adatbázis-fájl, amely tartalmazza az adott értékeket. A saját stílusban írt fájlok többségével ellentétben a polcolt adatbázisok mentett bináris formában.

Miután az adatokat a fájlba írták, bármikor visszahívhatók. Ha később meg akarja állítani az adatokat egy későbbi munkamenetben, akkor újra megnyitja a fájlt. Ha ugyanaz a munkamenet, akkor egyszerűen hívja elő az értéket; lezár ügyet adatbázis fájlok olvasási-írási módban vannak megnyitva. A következő az alapvető szintaxis ennek eléréséhez:

 import polc 
adatbázis = shelve.open (fájlnév.suffix)
objektum = adatbázis ['kulcs']

Tehát az előző példa mintája így szól:

 import polc 
stockname_file = shelve.open ('stocknames.db')
stockname_ibm = stockname_file ['ibm']
stockname_db = stockname_file ['db']

Megfontolások a polcra

Fontos megjegyezni, hogy az adatbázis nyitva marad addig, amíg bezárja (vagy a program nem fejeződik be). Ezért, ha bármilyen méretű programot ír, bezárni szeretné az adatbázist, miután vele dolgozott. Ellenkező esetben a teljes adatbázis (nem csak a kívánt érték) beilleszkedik a memóriába és fogyaszt számítási erőforrások.

A polcfájl bezárásához használja a következő szintaxist:

 database.close () 

Ha az összes fenti példa beépülne egy programba, akkor két adatbázisfájl legyen nyitva és memóriát fogyaszt. Tehát, miután elolvasta az állományneveket az előző példában, bezárhatja az egyes adatbázisokat az alábbiak szerint:

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