Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在长时间单元格执行期间显示消息_Python_Jupyter Notebook - Fatal编程技术网

Python 在长时间单元格执行期间显示消息

Python 在长时间单元格执行期间显示消息,python,jupyter-notebook,Python,Jupyter Notebook,我正在制作一个jupyter笔记本,其中一个单元格需要一段时间才能生成一系列图形。为了让用户放心,平台没有出现故障,计算单元也没有冻结,我想每隔5秒做一次类似于打印('computing'),直到计算单元完成执行 在jupyter笔记本环境中,有没有一种简单的方法可以做到这一点?我已经探索了一些本机计时功能,但似乎没有任何东西能够做到这一点 您可以使用或来执行此操作,我在下面使用了线程 导入时间 从线程导入线程 def进度(停止): 尽管如此: 打印('单元格正在运行…') 时间。睡眠(5) 如

我正在制作一个jupyter笔记本,其中一个单元格需要一段时间才能生成一系列图形。为了让用户放心,平台没有出现故障,计算单元也没有冻结,我想每隔5秒做一次类似于打印('computing'),直到计算单元完成执行

在jupyter笔记本环境中,有没有一种简单的方法可以做到这一点?我已经探索了一些本机计时功能,但似乎没有任何东西能够做到这一点

您可以使用或来执行此操作,我在下面使用了线程

导入时间
从线程导入线程
def进度(停止):
尽管如此:
打印('单元格正在运行…')
时间。睡眠(5)
如果停止():
打破
停止线程=错误
t1=线程(目标=进度,参数=(lambda:stop_threads,)
t1.start()
#你在这儿干什么
打印('from main')
时间。睡眠(6)
打印('从主2')
停止线程=True
#加入你的线程
t1.join()

可能与您重复此代码运行时不会出错。False()给出错误。我无法安装线程包。原因是什么?删除键入错误的()。SorryThreading在python中是默认的,所以我不确定为什么不能导入它。好的,我修复了它:)很好的解决方案。但是请注意,当您在
t1.start()
stop\u threads=True
之间按Ctrl-C时,主线程将中止,第二个线程将永远运行,因此应用程序将挂起,直到您杀死Python解释器。如果你想让程序停止,你应该捕捉并处理键盘中断。实际上,您应该捕获所有可能的异常,但在这个特定的示例中,KeyboardInterrupt是我唯一能想到的;-)