簡體   English   中英

在python空閑時運行時出錯

[英]Error when running on python idle

更新:我刪除了保存所有內容的.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 idle是否可以運行它,而沒有一個可以運行。 刪除功能破壞了它嗎?

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導致此錯誤?

檢查您的python版本

與您已安裝的閑置相比,pycharm可能正在使用不同版本的python。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM