Jupyter输入、显示、打印执行顺序混乱 [英] Jupyter input, display, print execution order is chaotic
本文介绍了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屋!
查看全文