mingyuezhao01 2017-06-10 16:21 采纳率: 0%
浏览 1552

关于dbm.error 的问题,求解,编程小白

from datetime import datetime

import shelve,os

class userdatabase(object):

def init(self,dbfile):

self.db = {}

if os.path.exists(dbfile):

self.db = shelve.open(dbfile, 'c')

self.dbfile = dbfile

self.flag = False

def __del__(self):  
    data = shelve.open(self.dbfile, 'c')    
    data.update(self.db)    
    data.close()  

def login(self,user,pwd):  
    if user not in self.db:  
        self.flag = False  
    elif self.db[user][0] == pwd:  
        self.db[user][1] = datetime.now()  
        self.flag = True  

def deluser(self,user):  
    if self.flag:  
        self.db.pop(user)  
    else:  
        print ('login first')  

def updateuser(self,user,pwd):  
    if self.flag:  
        self.db[user] = [pwd,datetime.now()]  
    else:  
        print ('login first')  

def listall(self):  
    if self.flag:  
        for user in self.db:  
            print( user, self.db[user][0], self.db[user][1])
    else:  
        print( 'login first')


a = userdatabase('userdata.txt')
Traceback (most recent call last):
File "", line 1, in
a = userdatabase('userdata.txt')
File "C:\Users\Administrator\Desktop\用户注册.py", line 16, in init
self.db = shelve.open(dbfile, 'c')
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\shelve.py", line 227, in init
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\dbm__init__.py", line 88, in open
raise error0
dbm.error: db type could not be determined

  • 写回答

1条回答 默认 最新

  • cyliu_test 2017-06-21 12:03
    关注

    a = userdatabase('userdata.txt')
    去掉扩展名.txt试试

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?