如何在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
相关产品推荐
相关产品推荐

