2016-02-13 188 views
0

我最近開始使用Python進行開發,並且我注意到無論何時我的代碼生成運行時錯誤,細節都會在輸出中閃爍一秒,然後程序關閉。有沒有辦法在發生這種情況時停止程序關閉或將錯誤記錄到文本文件中?Python錯誤報告

+3

運行從'蟒蛇filename.py'命令行Python程序。 –

+1

用'python filename.py> output.txt'記錄錯誤。 –

+0

或者使用任何Python IDE,例如https://www.jetbrains.com/pycharm/ – bastelflp

回答

1

除了評論中的所有工作都很好的建議之外,您始終可以(也應該始終)使用logging模塊。您可以快速設置基本日誌記錄功能,並允許更改顯示給用戶的信息級別。

(從'Python Module of The Week' website

import logging 

LOG_FILENAME = 'logging_example.out' 
logging.basicConfig(filename=LOG_FILENAME, 
        level=logging.DEBUG) 

logging.debug('This message should go to the log file') 

f = open(LOG_FILENAME, 'rt') 
try: 
    body = f.read() 
finally: 
    f.close() 

print 'FILE:' 
print body 

您可以登錄到不同層次(即信息,警告,調試誤差),並將這些顯示在代碼運行時,或隱藏他們,通過設置水平參數logging.basicConfig()

How To Logging

Logging Cookbook

+0

當然,對於幾行腳本使用日誌記錄模塊看起來可能過分;它仍然可以工作,但如果你只是原型設計,那麼用'>'將其轉儲到文件中可能會更好地滿足你的需求。對於模塊和程序,'logging'是必須的。 – nlsdfnbch

1

綜上所述上述意見,您可以:

  • python filename.py > output.txt

  • 運行在命令行的文件,python filename.py

  • 日誌中的錯誤,任何文本文件使用Python IDE類似PyCharm

以上所有內容都可以幫助您閱讀錯誤堆棧跟蹤。

+1

有一個錯字,它是'堆棧跟蹤'。 –