python標準庫shelve也提供了二進位制檔案操作的功能,可以像字典賦值一樣來寫入二進位制檔案,也可以像字典一樣讀取二進位制檔案,有點類似於nosql資料庫mongodb。
importshelve
fp = shelve.open('
shelve_test.dat
') #
建立或開啟二進位制檔案
zhangsan =
fp['
zhangsan
'] = zhangsan #
往檔案裡寫入內容
lisi =
fp['
lisi
'] =lisi
fp.close()
f = shelve.open('
shelve_test.dat')
print(fp['
zhangsan
']['
age'
])print(fp['
lisi
']['qq'
])fp.close()
**********=執行報錯如下
traceback (most recent call last):
file
"", line 111, in
__getitem__
value =self.cache[key]
keyerror:
'zhangsan
'during handling of the above exception, another exception occurred:
traceback (most recent call last):
file
"", line 13, in
print(fp['
zhangsan
']['
age'
]) file
"", line 113, in
__getitem__
f =bytesio(self.dict[key.encode(self.keyencoding)])
file
"", line 70, in
closed
raise valueerror('
invalid operation on closed shelf')
valueerror: invalid operation on closed shelf
#在pycharm 上就報這個錯,暫時不知道如何解決
1 >>> importshelve
2 >>> fp=shelve.open('
shelve.dat')
3 >>> zhangsan =
4 >>> fp['
zhangsan
'] =zhangsan
5 >>>fp.close
67 >>> f = shelve.open('
shelve_test.dat')
8 >>> fp['
zhangsan
']['
age'
]9 38
10 >>>
shelve模組使用
shelve模組是乙個簡單的key,value將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可支援的python資料格式 import shelve data shelve.open shelve file 開啟乙個檔案 info name zhangsan lisi wangwu d...
使用shelve模組儲存變數 python)
利用 shelve 模組,你可以將 python 程式中的變數儲存到二進位制的 shelf 檔案中。這樣,程式就可以從硬碟中恢復變數的資料。shelve 模組讓你在程式中新增 儲存 和 開啟 功能。例如,如果執行乙個程式,並輸入了一些配置設定,就可以將這些設定儲存到乙個 shelf 檔案,然後讓程式...
python模組詳解 shelve
shelve模組是乙個簡單的k,v 將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可以支援的python資料。簡單的說對 pickle的更上一層的封裝。寫檔案import shelve d shelve.open test4 這個檔案不用存在,執行自動生成 name hello chi...