我想找到一种方法来记录每一个迫使python解释器退出并保存到文件中以及打印到屏幕上的错误。我之所以想这样做,是因为我想保留我在编写代码时所犯错误类型的统计数据,以期找到避免我在将来经常犯错误的方法。
我一直试图通过使用subprocess模块为python解释器编写一个包装器来实现这一点。基本上,它运行python解释器,捕获任何输出,解析并保存到文件中,打印输出,并使用matplotlib生成一些摘要图。但是,实时获取包装器脚本的输出时遇到问题。例如,如果我运行的脚本是:
import os
import time
for x in range(10):
print "testing"
time.sleep(10)
我将subprocess.Popen()与p.communicate()一起使用,包装器将等待100秒,然后打印所有输出。我希望包装纸尽可能不可见-在这种情况下,理想情况下,它会每10秒打印一次“测试”。
如果有人能指点我做这件事的好方法,我将不胜感激。
谢谢!
我相信您可以简单地用自己的函数替换
sys.excepthook
。你可以在Python documentation里读到。基本上,它允许您自定义异常渗透到迫使Python解释器退出的程度时发生的情况。你这样使用它:
您可能还需要查看the traceback module,以格式化您得到的回溯。
相关问题 更多 >
编程相关推荐