python %logstart 存储输入结果失败

python %logstart fails to store input results

我关注 which led me to this post是为了保存ipython的输入结果(不要将输入结果与输出混淆;它们在ipython中被认为是不同的东西)。 post 接受的答案只是 'use %logstart -o in the ipython' 我全心全意地遵循答案,希望它能起作用,但它没有。

一张图胜过千言万语,我这里给出的图%logstart -o不能解决我的问题。图片清楚地显示我在 ipython 中使用了 %logstart -o 并且我播放了一个打印字符串和 numpy 数组的文件。字符串和数组没有出现在 ipython_log.py 中,这得出了两件事之一。

1) %logstart -o 被窃听(我不相信)

2) %logstart -o 有效,但没有实现我的目标

我的问题如下:

如果%logstart -o不能完成我的目标,那还有什么可以呢?

您引用的第二个 post 文档非常清楚,但让我为您引用重要部分:

In this mode [i.e., the %logstart mode], all commands which generate an Out[NN] prompt are recorded to the logfile

鉴于您使用 runfile 到 运行 您的代码,不会生成 Out[NN] 提示,您必须使用 print 语句来查看您的代码结果(无法使用 %logstart 记录)。

所以我对你的唯一建议是不要使用 runfile,而是使用单元格,这些单元格是由 # %% 形式的注释分隔的代码段,你可以 运行 与 Shift+Enter。这相当于直接在控制台中 运行 您的代码,它应该生成必要的 Out[NN] 提示。

除此之外,我认为不可能得到你想要的,抱歉。