jupyter notebook魔法命令

%xmode 魔法命令来控制异常报告:

  1. 输入魔法命令:在 IPython 或 Jupyter Notebook 的一个新单元格中,输入以下命令之一来设置异常报告模式:

    • 切换到 Plain 模式(简洁输出):

      ipython 复制代码
      %xmode Plain
    • 切换回 Context 模式(默认,包含上下文信息):

      ipython 复制代码
      %xmode Context
    • 切换到 Verbose 模式(详细输出,包括更多调用栈信息):

      ipython 复制代码
      %xmode Verbose
  2. 执行命令 :运行含有 %xmode 的单元格。这不会立即产生输出,但会设置后续异常报告的模式。

  3. 运行你的代码 :在新的单元格中编写并运行你的 Python 代码。如果发生异常,异常报告将根据你设置的 %xmode 模式显示。

  4. 查看异常报告:当异常发生时,IPython 会根据当前设置的模式显示异常报告。你可以根据这些信息来调试你的代码。

  5. 调整模式(如果需要) :如果你发现当前的模式不适合你的需求,你可以再次使用 %xmode 命令来切换到不同的模式。

  6. 继续调试:使用异常报告中的信息来定位和修复代码中的错误。

%debug 魔法命令来启动一个交互式调试会话:

  1. 捕获异常后启动调试器

    当你的代码抛出异常时,你可以使用 %debug 魔法命令来启动调试器。例如,如果你的代码在执行时抛出了 ZeroDivisionError,你可以在异常发生后立即输入 %debug 来进入调试模式。

  2. 使用调试命令

    一旦进入调试模式,你可以使用各种调试命令来检查程序状态。以下是一些基本的调试命令:

    • listl:显示当前位置的源代码。
    • helph:显示所有可用的调试命令或特定命令的帮助信息。
    • quitq:退出调试器。
    • continuec:继续执行程序直到下一个断点或程序结束。
    • nextn:执行下一行代码,如果当前行是调用函数,则执行该函数但不会进入函数内部。
    • printp:打印变量的值。
    • steps:步入当前行的函数或方法内部。
    • returnr:从当前函数返回,继续执行调用者的代码。
  3. 自动启动调试器

    如果你希望在每次发生异常时自动启动调试器,可以使用 %pdb 魔法函数,并设置为 on

    ipython 复制代码
    %pdb on

    这将导致每次异常发生时自动启动调试器。

  4. 运行脚本

    如果你有一个 Python 脚本,并希望在调试模式下运行它,可以使用 %run -d 命令:

    ipython 复制代码
    %run -d your_script.py

    这将以调试模式运行脚本,允许你单步执行代码。

  5. 查看调试器文档

    要获取更多关于 ipdb 的信息和高级调试技巧,你可以访问其 GitHub 页面(如果你之前提供的链接无法访问,可以尝试直接搜索 ipdb 的 GitHub 仓库)。

  6. 注意

    在 Windows 系统中,IPython 的调试体验与 Unix/Linux 系统相似。但是,文件路径和某些系统特定的命令可能有所不同,这可能会影响调试过程中的某些操作。

相关推荐
带娃的IT创业者2 分钟前
实战:用 Python 搭建 MCP 服务 —— 模型上下文协议(Model Context Protocol)应用指南
开发语言·python·mcp
万粉变现经纪人6 分钟前
如何解决pip安装报错ModuleNotFoundError: No module named ‘python-dateutil’问题
开发语言·ide·python·pycharm·pandas·pip·httpx
跟橙姐学代码20 分钟前
Python 类的正确打开方式:从新手到进阶的第一步
前端·python·ipython
c8i21 分钟前
关于python中的变量中使用的下划线_总结
python
站大爷IP28 分钟前
用Flet打造跨平台文本编辑器:从零到一的Python实战指南
python
MC皮蛋侠客41 分钟前
使用python test测试http接口
开发语言·python·http
胡耀超1 小时前
5、Python-NumPy科学计算基础
开发语言·人工智能·python·深度学习·numpy
BIGSHU09232 小时前
java多线程场景3-并发处理和异步请求
java·开发语言·python
Source.Liu2 小时前
【Python自动化】 21.3 Pandas Series 核心数据结构完全指南
python·自动化·pandas
Sirius Wu2 小时前
私有化部署Ragflow的预训练模型
人工智能·python·语言模型·火山引擎