1. 程式人生 > >Python模塊-shelve模塊

Python模塊-shelve模塊

運行 .com 取數據 alt open 刪除 分享 生成 ack

shelve模塊也是用來序列化的,可以持久化任何pickle可支持的python數據格式,比pickle好用,也是python專屬,可以dump多次數據,也可以直接修改數據

序列化

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

import shelve

f = shelve.open(‘shelve_test‘)

names = ["John", "Jack", "Jane"]
info = {‘name‘:‘John‘,‘age‘:22}

f[‘name‘] = names
f[‘infos‘] = info

f.close()

生成了三個文件

技術分享圖片

反序列化

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

import shelve

f = shelve.open(‘shelve_test‘)

#獲取數據
print(list(f.keys())) #獲取key名
print(f.get(‘name‘)) #獲取key的值
print(f[‘infos‘]) #獲取key的值
print(list(f.items())) #獲取全部數據

#修改數據
f[‘name‘] = [‘a‘,‘b‘,‘c‘]
print(f[‘name‘])

del f[‘infos‘] #刪除數據

f.close()

運行結果

技術分享圖片



Python模塊-shelve模塊