wen*_*hoo 3 interrupt ipython jupyter-notebook ipywidgets
我正在ipython笔记本中运行一些数据分析.一台单独的机器收集一些数据并将它们保存到服务器文件夹,我的笔记本会定期扫描该服务器以获取新文件,并对其进行分析.
我在while循环中执行此操作,每秒检查新文件.目前我已将其设置为在分析一些新文件时终止.但是,我希望在按键时终止.
我试过尝试捕捉键盘中断,如下所示:如何通过击键来杀死一个while循环?
但它似乎不适用于ipython笔记本(我使用的是Windows).
使用openCV的keywait对我有用,但我想知道是否有替代方法而不必导入opencv.
我还尝试实现一个中断循环的按钮小部件,如下所示:
from ipywidgets import widgets
import time
%pylab inline
button = widgets.Button(description='Press to stop')
display(button)
class Mode():
def __init__(self):
self.value='running'
mode=Mode()
def on_button_clicked(b):
mode.value='stopped'
button.on_click(on_button_clicked)
while True:
time.sleep(1)
if mode.value=='stopped':
break
Run Code Online (Sandbox Code Playgroud)
但我发现循环基本上忽略了按下按钮.
Mik*_*ler 10
您可以KeyboardInterrupt通过菜单"Kernel - > Interrupt"在Notebook中触发.
所以使用这个:
try:
while True:
do_something()
except KeyboardInterrupt:
pass
Run Code Online (Sandbox Code Playgroud)
按此处的建议并单击此菜单项.
| 归档时间: |
|
| 查看次数: |
4920 次 |
| 最近记录: |