6 3 3 使用 shelve 模組操作二進位制檔案

2022-08-18 16:21:12 字數 1617 閱讀 7169

python標準庫shelve也提供了二進位制檔案操作的功能,可以像字典賦值一樣來寫入二進位制檔案,也可以像字典一樣讀取二進位制檔案,有點類似於nosql資料庫mongodb。

import

shelve

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 >>> import

shelve

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...