python - 如何使用 for-try- except block 杀死 jupyter 实验室细胞?

标签 python jupyter jupyter-lab

我在 jupyter 实验室中有一个单元:

for _ in range(40):
    try:
        print('Hello')
        time.sleep(1)
    except:
        pass

我需要在 try- except block 内实现一些函数。但是,对于这样的代码,我无法终止该进程。通过 jupyter 实验室中的 stop 按钮引发的每个中断都会发送一个 SIGINT(相当于 Ctrl-C),该信号使用它来转义 try- except block 而不是 for 循环。如何停止整个单元格的执行。是否有其他中断可以提供给 jupyter.

最佳答案

首先找出杀死单元格时抛出的异常。我使用 1/0 作为演示来引发错误。

for _ in range(40):
    try:
        print('Hello')
        time.sleep(1)
        a = 1/0
    except Exception as e:
        print(type(e))

然后单独捕获那个:

for _ in range(40):
    try:
        print('Hello')
        time.sleep(1)
    except ZeroDivisionError:
        break
    except Exception as e:
        pass

ZeroDivisionError 应该是第一个 block 打印的内容。

关于python - 如何使用 for-try- except block 杀死 jupyter 实验室细胞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56126420/

相关文章:

python - 如何使用 boto 以编程方式检查 Amazon S3 权限?

python - 为代码中的函数调用生成可变数量的参数

python - jupyter 笔记本设置失败,错误代码为 “TypeError: __call__() takes exactly 2 arguments (1 given)”

python - 如何匹配jupyterlab-nvdashboard和JupyterLab的版本

python - 查找 python 文件中的所有空格、换行符和制表符

command-line-interface - 如何从命令行启动 jupyter notebook 以在当前目录中运行,而无需编辑配置文件或传递硬路径?

pandas - folium choropleth 和 geojson 未在 jupyter 中渲染

jupyter-notebook - 无法使用 nbconvert 将 jupyter notebook 导出为任何其他格式

python - 运行 jupyterlab 时出现黑屏

python - STATICFILES_DIR、STATIC_ROOT 和 MEDIA_ROOT 的区别