gpt4 book ai didi

ipython - IPython Notebook中的while循环的优美中断

转载 作者:行者123 更新时间:2023-12-04 22:19:30 29 4
gpt4 key购买 nike

我正在ipython Notebook中运行一些数据分析。一台单独的计算机收集一些数据并将其保存到服务器文件夹中,我的笔记本电脑会定期在该服务器上扫描新文件并进行分析。

我在while循环中执行此操作,该循环每秒检查一次新文件。目前,我已将其设置为在分析一定数量的新文件时终止。但是,我想在按下按键时终止。

我尝试 try catch 键盘中断,如下所示:How to kill a while loop with a keystroke?

但它似乎不适用于ipython Notebook(我正在使用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

但是我看到循环基本上忽略了按钮的按下。

最佳答案

您可以通过菜单“内核->中断”在笔记本中触发KeyboardInterrupt

所以使用这个:

try:
while True:
do_something()
except KeyboardInterrupt:
pass

根据建议的 here,然后单击此菜单项。

关于ipython - IPython Notebook中的while循环的优美中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37280920/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com