更新:我删除了保存所有内容的.dat文件,现在又重新运行了。我想对可能导致它有什么帮助的一些意见。我只是想知道将来如何防止它。
昨天使用python idle完成所有工作。 今天我在pycharm中编辑了我的程序以添加删除帐户功能。一切都在pycharm上运行我可以接收帐户,删除帐户,并创建它们。我决定在空闲时测试它,因为我工作的大多数计算机都无法下载pycharm并且我不断收到此错误:
Traceback (most recent call last):
File "E:\Passwords\password.py", line 140, in ?
program_start()
File "E:\Passwords\password.py", line 137, in program_start
all_accounts()
File "E:\Passwords\password.py", line 93, in all_accounts
klist = f.keys()
File "C:\Python24\lib\shelve.py", line 98, in keys
return self.dict.keys()
File "C:\Python24\lib\bsddb\__init__.py", line 244, in keys
return self.db.keys()
DBRunRecoveryError: (-30978, 'DB_RUNRECOVERY: Fatal error, run database recovery -- accounts.dat: pgin failed for page 1')
我决定再次运行pycharm并且不顾一切,它仍然运行完美没有错误。这个错误是什么意思?我该如何解决?是什么原因造成的? 此外,我试图在多台计算机上运行它,以查看python空闲是否会运行它,并且它们都不会。 删除功能是否毁了它?
def delete_account():
"""Deletes an account"""
print'\n'
account = raw_input("What account do you want to delete?: ")
f = shelve.open("accounts.dat")
if account in f:
confirm_deletion = raw_input("Are you sure you want to delete " + account + "?: ")
if confirm_deletion.lower() in ('yes', 'y'):
del f[account]
print "This account has been deleted."
else:
print "Canceled... "
else:
print "I'm sorry we could not find any account related to " + account
print '\n'
f.close
或者pycharm导致了这个错误吗?
答案 0 :(得分:0)
检查您的python版本
与你安装的空闲相比,pycharm可能使用不同版本的python。