You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Jupyter Notebook的%debug中输入多行命令?

如何在Python Jupyter Notebook的%debug中输入多行命令?

嗨,我之前也碰到过这个棘手的问题!在Jupyter Notebook的%debug交互式调试器里,不管是按Enter、Ctrl+Enter还是Shift+Enter,都会直接执行当前输入的第一行代码,根本没机会输入多行代码块。不过别担心,有两个实用的小技巧能轻松解决这个问题:

  • 利用pdb的自动续行模式:当你输入的代码行以冒号:结尾时(比如写for循环、if条件判断或者函数定义的开头),按下Enter后,调试器会自动切换到续行状态,提示符会变成...,这时候你就可以逐行输入后续的代码内容。等所有行都输入完成后,连续按两次Enter,整个多行代码块就会被执行。举个实际的例子:

    %debug
    > <ipython-input-2-abc123>(2)my_func()
    -> total = 0
    (Pdb) for num in range(1, 4):
    (Pdb) ...     total += num
    (Pdb) ...     print(f"当前累计: {total}")
    (Pdb) ...
    当前累计: 1
    当前累计: 3
    当前累计: 6
    
  • 使用!命令包裹多行代码(适用于简单场景):如果你想快速输入一段不需要调试上下文交互的多行代码,可以用!命令配合三重引号来执行,示例如下:

    (Pdb) !'''
    ... total = 0
    ... for num in range(1,4):
    ...     total += num
    ... print(total)
    ... '''
    6
    

另外要注意,在%debug调试器中,Ctrl+Enter和Shift+Enter依然会触发当前行的执行,所以输入多行时尽量用上面的续行方法,避免误触这些快捷键。

备注:内容来源于stack exchange,提问作者Jens Wagemaker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:02:58