将集成错误重定向到文件python

时间:2018-03-15 12:36:55

标签: python error-handling

我在python中使用scipy.itegrate中的odeint。有时我会集成错误,如

  

lsoda--在当前t(= r1),mxstep(= i1)步骤
         在到达之前接受此电话会议         在上面的消息中,i1 = 500         在上面的消息中,r1 = 0.4082154636630D-03

我不想在屏幕上打印这些错误。有没有办法将它们直接打印到某个错误文件?我只是不希望它们被打印在屏幕上,因为我在大循环中打印其他内容,并自动显示在结果文件中。 谢谢

1 个答案:

答案 0 :(得分:0)

如果这些消息打印在stderr上,您可以捕获它并重定向到文件。最小的实现是

import sys
sys.stderr = open('the_log_file_for_errors', 'w')

另一种更复杂的方法是封装可以在try...except块中提供错误的代码,在except块中,您可以使用更多详细信息(如输入参数)将错误记录在文件上等等。检查后。