利用 shelve 模組,你可以將 python 程式中的變數儲存到二進位制的 shelf 檔案中。這樣,程式就可以從硬碟中恢復變數的資料。shelve 模組讓你在程式中新增「儲存」和「開啟」功能。例如,如果執行乙個程式,並輸入了一些配置設定,就可以將這些設定儲存到乙個 shelf 檔案,然後讓程式下一次執行時載入它們。
使用方法:`
這個跟我們的字典十分類似,不過字典是變數,這裡的shelve模組是將變數保持到二進位制的shelf檔案中。>>
>
import shelve
>>
> shelffile = shelve.
open
('mydata'
)>>
> cats =
['zophie'
,'pooka'
,'simon'
]>>
> shelffile[
'cats'
]= cats
>>
> shelffile.close(
)
我們的shelffile物件與字典的使用方式類似,它也有keys和values.例如:
這樣shelffile其實和字典十分類似。>>
> shelffile = shelve.
open
('mydata'
)>>
>
list
(shelffile.keys())
['cats'
]>>
>
list
(shelffile.values())
[['zophie'
,'pooka'
,'simon']]
>>
> shelffile.close(
)
它的主要作用是可以儲存我們在程式中的變數的。
對於不同的資料我們要選取合適的儲存方式,比如如果純文字可以簡單的儲存為txt即可,而對於程式中的一些變數,最好的方式就是使用shelve模組儲存這些變數。
我們還可以使用pprint.pformat()函式來儲存變數,需要先引入pprint模組。
pprint.pformat(),將會返回乙個字串,而字串可以更好的寫入文字檔案中,這裡我們寫入的是乙個py檔案,通過pprint.pformat()處理後寫入.py檔案中,是符號python的語法的,因此如果我們要使用這些變數,可以把它當作模組直接引入就可以了。>>
>
import pprint
>>
> cats =[,
]>>
> pprint.pformat(cats)
"[, ]"
>>
> fileobj =
open
('mycats.py'
,'w'
)>>
> fileobj.write(
'cats = '
+ pprint.pformat(cats)
+'\n')83
>>
> fileobj.close(
)
利用這種方式儲存變數,我們可以用乙個文字編輯器就可以開啟和編輯,十分的簡單,但是在程式中的變數,如果我們要儲存它們,使用shelve模組更好。>>
>
import mycats
>>
> mycats.cats[,
]>>
> mycats.cats[0]
>>
> mycats.cats[0]
['name'
]'zophie'
python用 shelve 模組儲存變數
利用 shelve 模組,你可以將 python 程式中的變數儲存到二進位制的 shelf 檔案中。這樣,程式就可以從硬碟中恢復變數的資料。shelve 模組讓你在程式中新增 儲存 和 開啟 功能。例如,如果執行乙個程式,並輸入了一些配置設定,就可以將這些設定儲存到乙個 shelf 檔案,然後讓程式...
shelve模組使用
shelve模組是乙個簡單的key,value將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可支援的python資料格式 import shelve data shelve.open shelve file 開啟乙個檔案 info name zhangsan lisi wangwu d...
Python使用Shelve儲存物件方法總結
shelve是乙個功能強大的python模組,用於物件永續性。擱置物件時,必須指定乙個用於識別物件值的鍵。通過這種方式,擱置檔案成為儲存值的資料庫,其中任何乙個都可以隨時訪問。程式設計客棧python中擱置的示例 要擱置物件,首先匯入模組,然後按如下方式分配物件值 import shelve dat...