做小栗子调用shelve模块时,我是先自己创建了一个shv.db的文件,调试的时候提示:
dbm.error: db type could not be determined
原代码如下:
import shelve
shv = shelve.open(r"shv.db")
try:
shv['one'] = 1
shv['two'] = 2
shv['three'] = 3
finally:
shv.close()
shv = shelve.open(r"shv.db")
try:
print(shv['one'])
print(shv['three'])
finally:
shv.close()
解决方法:
删除自己创建shv.db,调用shelve会自动生成。
‘’’
shelve是一个对象持久化保存方法,将对象保存到文件里面,一般来说对象的保存和恢复都是通过shelve来进行的。
你的问题是test.txt已经存在,并且格式与shelve不符,所以提示 “db type could not be determined”
解决方法: 删除/home/luo/python/test.txt文件,首次运行后会自动生成该文件。
‘’’
此方法来着百度[https://zhidao.baidu.com/question/355816186.html]