我在python中使用scipy.itegrate中的odeint。有时我会集成错误,如
lsoda--在当前t(= r1),mxstep(= i1)步骤
在到达之前接受此电话会议 在上面的消息中,i1 = 500 在上面的消息中,r1 = 0.4082154636630D-03
我不想在屏幕上打印这些错误。有没有办法将它们直接打印到某个错误文件?我只是不希望它们被打印在屏幕上,因为我在大循环中打印其他内容,并自动显示在结果文件中。 谢谢
答案 0 :(得分:0)
如果这些消息打印在stderr
上,您可以捕获它并重定向到文件。最小的实现是
import sys
sys.stderr = open('the_log_file_for_errors', 'w')
另一种更复杂的方法是封装可以在try...except
块中提供错误的代码,在except块中,您可以使用更多详细信息(如输入参数)将错误记录在文件上等等。检查后。