A savanyúság, amely alapértelmezés szerint a Python könyvtár részét képezi, fontos modul, amikor szükség van kitartásra a felhasználói munkamenetek között. Modulként a savanyúság biztosítja a Python objektumok mentését a folyamatok között.
Függetlenül attól, hogy programozik-e a adatbázis, játék, fórum vagy más alkalmazás, amelynek információt kell mentenie a munkamenetek között, a savanyúság hasznos az azonosítók és a beállítások mentéséhez. A savanyúság-modul olyan adattípusokat tárolhat, mint például logikai értékek, karakterláncok és bájt tömbök, listák, szótárak, függvények és így tovább.
Jegyzet: A pácolás fogalmát szerializációnak, rendezésnek és simításnak is nevezik. A lényeg azonban mindig ugyanaz - egy objektumot fájlba menthet későbbi visszakeresésre. A pácolás ezt úgy végzi el, hogy az objektumot hosszú hosszú bájtfolyamként írja le.
Pickle példakód a Pythonban
Objektum fájlba írásához egy kódot kell használni a következő szintaxisban:
import savanyúság
objektum = objektum ()
fájlkezelő = nyitva (fájlnév, 'w')
pickle.dump (objektum, fájlkezelő)
Így néz ki egy valós példa:
import savanyúság
import matematika
object_pi = math.pi
file_pi = open ('fájlnév_pi.obj', 'w')
pickle.dump (objektum_pi, fájl_pi)
Ez a részlet írja a object_pi a fájlba kezelő fájl_pi, amely viszont kötődik a fájlhoz filename_pi.obj a végrehajtás könyvtárában.
Az objektum értékének a memóriába való visszaállításához töltse be az objektumot a fájlból. Feltételezve, hogy a savanyúságot még nem importálták felhasználásra, kezdje azzal:
import savanyúság
fájlkezelő = nyitva (fájlnév, 'r')
object = pickle.load (fájlkezelő)
A következő kód visszaállítja a pi értékét:
import savanyúság
file_pi2 = open ('fájlnév_pi.obj', 'r')
object_pi2 = pickle.load (fájl_pi2)
Az objektum ezután ismét használatra kész, ezúttal object_pi2. Természetesen az eredeti neveket is felhasználhatja, ha úgy akarja. Ez a példa az érthetőség kedvéért külön neveket használ.
Emlékezzenek a savanyúságról
A savanyúság-modul használatakor ne feledje ezeket a dolgokat:
- A savanyúság protokoll a Pythonra jellemző - nem garantálható, hogy kereszt-kompatibilis. Valószínűleg nem tudja átadni az információkat annak érdekében, hogy Perl, PHP, Java vagy más nyelven is hasznos legyen.
- Nem garantáljuk a Python különféle verzióinak kompatibilitását sem. ITazonosság nem létezik, mert a modul nem minden Python adatszerkezetet képes sorba rendezni.
- Alapértelmezés szerint a savanyítási protokoll legfrissebb verzióját használja. Ez így marad, hacsak nem módosítja kézzel.
Tipp: Is megtudja Hogyan használjuk a polcot objektumok mentésére a Pythonban az objektum folytonosságának fenntartására szolgáló másik módszerhez.