在python3中我們使用json或者pickle持久化資料,能dump多次,但只能load一次,因為先前的資料已經被後面dump的資料覆蓋掉了。如果我們想要實現dump和load多次,可以使用shelve模組。shelve模組可以持久化所有pickle所支援的資料型別。
import shelve
import datetime
info =
name = ['apoll', 'zous', 'luna']
t = datetime.datetime.now()
with shelve.open('shelve.txt') as f:
f['name'] = name # 持久化列表
f['info'] = info # 持久化字典
f['time'] = t # 持久化時間型別
執行**後會生成3個檔案:shelve.txt.bak、shelve.txt.dat、shelve.txt.dir。
shelve.txt.bak 的內容
'info', (512, 45)
'name', (0, 42)
'time', (1024, 44)
shelve.txt.dat
�]q (x apollqx zousqx lunaq程式設計客棧e. �}q (x ageqkx nameqx bigbergqu. �cdatetime
datetime
q c�"
2�q�qrq.
shelve.txt.dir 的內容
'info', (512, 45)
'name', (0, 42)
'time', (1024, 44)
我們使用get來獲取資料
import shelve
with shelve.open('shelve.txt') as f:
n = f.get('name')
i = f.get('info')
now = f.get('time')
程式設計客棧print(n)
print(i)
print(now)
輸出['程式設計客棧apoll', 'zous', 'luna']
2017-07-08 11:07:34.865022
1、shelve模組是乙個簡單的key,value將記憶體資料通過檔案持久化的模組。
2、shelve模組可以持久化任何pickle可支援的python資料格式。
3、shelve就是pickle模組的乙個封裝。
4、shelve模組是可以多次dump和load。
python持久化快取 Python資料持久化儲存
1 pymongo的使用 前三步為建立物件 第一步建立連線物件 conn pymongo.mongoclient ip位址 27017 第二步建立庫 db conn 庫名 第三步建立表 myset db 集合名 第四步把資料插入資料庫 myset.inset.one usr bin python c...
資料持久化
資料持久化就是將記憶體中的資料模型轉換為儲存模型,以及將儲存模型轉換為記憶體中的資料模型的統稱.資料模型可以是任何資料結構或物件模型,儲存模型可以是關係模型 xml 二進位製流等。cmp和hibernate只是物件模型到關係模型之間轉換的不同實現。只不過物件模型和關係模型應用廣泛,所以就會誤認為資料...
資料持久化
首先是cocos2d x自己封閉的ccuserdefault跨平台的檔案儲存類,它是用的xml格式,具體操作非常類似於應用開發的ini檔案,可操作性不是很強,如果訪問比較複雜的資料,那就得自己動手去解析乙個字串,下面是示例 基本一看就懂 void userdefaulttest dotest els...