物件持久化

2021-09-29 23:18:56 字數 1367 閱讀 7286

物件持久化:

ifname==『main』:

read_scores()

pickle : 將字典表序列化成字串pickle.dumps(),字串變回字典用pickle.loads(s)

import pickle

person =

s = pickle.dumps(person) #序列化

p = pickle.loads(s) #恢復

#序列化就是把不同格式的內容變成文字內容;

序列化為檔案

pickle.dump(person,open(『pickle_db』,'wb』)) #.dump(序列化物件,二進位制寫入檔案)

p = pickle.load(open(『pickle_db』,'rb』))。 #恢復 .load 二進位制讀取檔案

把多個檔案存在乙個「資料庫」裡

import shelve

scores = [99,88,77]

student =

db = shelve.open(『shelve_student』) #建立乙個資料庫

db[『s』] = student

db[『scores』] = scores

如果刪除直接用

del db[』s』]

像詩一樣去讀**吧

import shelve #引入

class student: #引入student(x,x)

definit(self,name,age):

self.name=name

self.age=age

defstr(self):

return self.name。

def write_shelve(): #引入並載入shelve資料庫

s = student(『tom』,2)

db = shelve.open(『shelve_student_db』)

db[『s』] = s

db.close()

def read_shelve(): #讀shelve資料庫

db = shelve.open(『shelve_student_db』)

st = db[『s』]

print(st)

print(st.name)

print(st.age)

db.close()

ifname== 'main』: #執行

read_shelve()

心得:寫的時候不要特別在意每行的意思,而是總體的意思,然後去理解這種思想;

python 物件持久化

print open persondb.dat rb read testdemo2.py 讀取資料庫 載入乙個例項的時候,類極其模組的檔案都必須匯入 該類的例項再次載入的時候,對類的源 檔案的修改會自動選取 import testdemo import shelve db shelve.open p...

python物件持久化

pickle模組 import pickle person s pickle.dumps person p pickle.loads s pickle.dump person,open pickle db wb p pickle.load open pickle db rb print p prin...

python持久化物件

通過shelve模組即可持久化物件 import shelve import numpy as np def writeobj name,obj with shelve.open object as db db name obj def readobj name try with shelve.op...