2016-02-13 195 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

有一个错字,它是'堆栈跟踪'。 –