Jupyter输入、显示、打印执行顺序混乱 [英] Jupyter input, display, print execution order is chaotic

查看:0
本文介绍了Jupyter输入、显示、打印执行顺序混乱的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是Jupyter,我的Python版本是3.5。在我的while循环中,执行顺序不正确;一个迭代的input显示在前一个迭代的最后print之前。这是我的代码。

from IPython.display import display
import pandas as pd
df = pd.DataFrame({'a':[1,2],'b':[3,4]})
while(True):
    a = input("please input:
")
    display(df.head())
    print (a)

执行结果为

推荐答案

我能够在OSX上重现Chrome63下的行为。我又添加了几个连续的print(a)语句,输入字段的结束位置是随机的:在它们之前、在它们之后或在它们之间。我怀疑每个Display和Print调用都会向服务器发送一个请求,但会异步等待其结果,因此可能会在print(a)的结果准备好之前再次调用input

这不是一个优雅的解决方案,但在print(a)之后添加一个小睡眠(time.sleep(.02))可以解决我的问题。

这篇关于Jupyter输入、显示、打印执行顺序混乱的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆