python中shelve模組的基本使用

2021-10-03 15:59:11 字數 1405 閱讀 7227

主要對資料進行序列化反序列化,不過會在本地建立乙個類似資料倉儲,持久的儲存資料。

import shelve

#存資料

name = ['alce', 'bob', 'janice']

infos =

days=(31,28,31,30,31)

with shelve.open("c:\\users\\administrator\\desktop\\test1.txt",flag='c') as f:

f['name'] = name

f['infos'] = infos

f['days'] = days

#取資料

with shelve.open("c:\\users\\administrator\\desktop\\test1.txt",flag='c') as f:

for k,v in f.items():

print(k,':',v)

import shelve

import random

# 存入資料

with shelve.open('db')as db:

# scores為乙個列表,如果score中有值,則scores=score,如果沒有則scores=

scores = db.get("score", )

# accounts為乙個字典,如果account中有值,則accounts=account,如果沒有則accounts=

accounts = db.get('account', )

for i in range(3):

id = input("使用者名稱:")

password = input("密碼:")

if id in accounts and accounts[id] == password:

print('成績表為:', scores)

name = input("name:") # 向列表中新增學生姓名

cj = random.randint(50, 100) # 向列表中新增學生成績

print('成績表為:', scores)

npass = input("新密碼:")

db['score'] = scores

db['account'] =

break

else:

print("使用者名稱或密碼錯誤")

else:

print("三次機會已用完,再見!")

# 讀取儲存的資料資訊

print('-' * 20)

with shelve.open('db')as db:

for k, v in db.items():

print(k, ':', v)

python 中的shelve模組

shelve也是python提供給我們的序列化工具,比pickle用起來更簡單一些。shelve只提供給我們乙個open方法,是用key來訪問的,使用起來和字典類似。例子 儲存資料 1 import shelve,datetime 2importos3 if os.path.isdir os.get...

python模組詳解 shelve

shelve模組是乙個簡單的k,v 將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可以支援的python資料。簡單的說對 pickle的更上一層的封裝。寫檔案import shelve d shelve.open test4 這個檔案不用存在,執行自動生成 name hello chi...

Python基礎 shelve模組

usr bin env python coding utf 8 shelve模組比pickle模組簡單,只有乙個open函式,返回類似字典的物件,可讀可寫 key必須為字串,而值可以是python所支援的資料型別 import shelve f shelve.open r shelve.txt 目的...