如何将 IPython 控制台的输出保存到 Spyder 中的文件?

How to save the output of an IPython console to a file in Spyder?

我的程序有一个错误:(

问题在于:

好消息 是我的 py 文件中有很多 print(),因此我可能知道错误所在。

坏消息是我的错误使我的计算机崩溃,所以我无法查看输出ipython 控制台,看看出了什么问题。

如何在程序 运行 运行时将输出写入磁盘?以便我在重启后仍然可以打开文件以了解崩溃前发生了什么?

这个问题和Redirect stdout to a file in Python?不一样,因为我需要

非常感谢!

非常有趣的问题!幸运的是 IPython 有适合您的魔法。它被称为 %logstart(请按照 link 获取完整文档)。

要开始使用它并保存所有命令的输入和输出,只需输入 IPython 控制台

In[1]: %logstart -o

这将从那一刻起将您的会话记录到一个名为 ipython_log.py 的文件中,该文件位于您当前的目录中。

%logstart 非常灵活,因此您可以 select 保存到不同的文件,以及保存会话的方式(纯 Python 或 IPython 命令)。