資料持久化的方式有:
1.普通檔案無格式寫入:將資料直接寫入到檔案中
2.普通序列化寫入:json,pickle
3.dbm方式:shelve,dbm
反序列化:
print("------json序列化--------")
import
json
import
time
info=
info2=['
1',2,3,4]
f=open("
test.txt
","w")
print("
---------dumps,---------
")#用'\n'來區分兩份資料
f.write(json.dumps(info)+"\n"
)f.write(json.dumps(info2)+"\n"
)f.close()
importjson
with open(
"test.txt
") as f:
a=json.loads(f.readline())
b=json.loads(f.readline())
print(a,b)
反序列化:
importshelve,time
d = shelve.open('
shelve_test
') #
開啟乙個檔案
print("
----------寫----------")
info =
name = ["
autuman
", "
zhangsan
", "
lisi"]
d["teacher
"] =named["
student
"] =infod["
date
"] =time.ctime()
print("
--------讀------------")
print(d.get("
teacher"))
print(d.get("
student"))
print(d.get("
date"))
d.close()
shelve可以很方便的序列化自定義的資料型別、函式:
importshelve,time
class
a:
defhello(self):
print("
123"
)d = shelve.open('
shelve_test
') #
開啟乙個檔案
print("
----------寫----------")
d['class
'] =a
print("
--------讀------------")
a=d.get('
class
')()
a.hello()
d.close()
寫入:dbm物件[key]=value
讀取: dbm物件[key]
importdbmdb=dbm.open("
test.txt
","c")
print("
寫".center(50,'-'
))db[
"name
"]="
1111111111112
"db[
"name2
"]="
2222222222222
"print("
讀".center(50,'-'
))print(db["
name"])
print(db["
name2"])
db.close()
Python序列化與持久化
資料持久化可以將資料儲存到檔案中,資料庫中。儲存到檔案中可以是普通txt檔案,csv檔案等,資料庫可以是sql資料庫mongodb資料庫等 變數從記憶體中變成可儲存或傳輸的過程稱之為序列化,在python中叫pickling 變數內容從序列化的物件重新讀到記憶體裡稱之為反序列化,即unpicklin...
Python序列化與反序列化
序列化 將python裡的基本型別如字典 列表 陣列等序列化為字串 反序列化 將字串反序列化為python裡的基本型別如字典 列表等 常用 json r requests.get 杭州 r.encoding utf 8 print r.text print dic json.loads r.text...
ejb 持久化序列化物件
從客戶端 將使用者物件新增到 ejb 伺服器上 user 物件需要序列化 實現 serializable介面 public class user implements serializable public void setid int id public string getname public...