我正在研究一个Jupyter笔记本,其中一个单元需要一段时间才能生成一系列图形。为了向用户保证平台不会发生故障并且单元未冻结,我想每5秒执行一次print('computing')
之类的操作,直到单元执行完毕。
在jupyter笔记本环境中是否有直接的方法来执行此操作?我已经探索了一些本机计时功能,但似乎没有什么可以做到的。
答案 0 :(得分:2)
您可以使用threading或multiprocessing进行此操作,我在下面使用了线程。
import time
from threading import Thread
def progress(stop):
while True:
print('Cell Running...')
time.sleep(5)
if stop():
break
stop_threads = False
t1 = Thread(target=progress, args=(lambda: stop_threads, ))
t1.start()
# do main here
print('from main')
time.sleep(6)
print('from main 2')
stop_threads = True
# join your thread
t1.join()