实时打印ipython笔记本

patapouf_ai:

Ipython Notebook似乎无法实时打印结果,但似乎会以某种方式进行缓冲,然后批量输出打印结果。如何在处理print命令后立即让ipython打印我的结果?

示例代码:

import time


def printer():
    for i in range(100):
        time.sleep(5)
        print i

假设上面的代码在导入的文件中。我如何才能使它在调用打印机功能时每5秒打印一个数字,而不是在最后打印所有数字?

请注意,我无法编辑该功能,printer()因为我是从某个外部模块获得的。我想以某种方式更改ipython Notebook的配置,以便它不使用缓冲区。因此,我也不想使用sys.stdout.flush(),我想根据问题实时进行操作,我不希望任何缓冲区开始。

我还尝试使用以下命令加载ipython笔记本:

ipython notebook --cache-size=0

但这似乎也不起作用。

命令:

从Python 3.3开始,print()有一个附加的flush参数可用于强制刷新:

for i in range(10):
    print(i, flush=True)
    time.sleep(1)  

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章