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 系统相似。但是,文件路径和某些系统特定的命令可能有所不同,这可能会影响调试过程中的某些操作。

相关推荐
天天进步201543 分钟前
Python项目-基于Flask的个人博客系统设计与实现(1)
开发语言·python·flask
安然无虞1 小时前
31天Python入门——第20天:魔法方法详解
开发语言·后端·爬虫·python
靠近彗星1 小时前
基于 Vue + Django + MySQL 实现个人博客/CMS系统
前端·vue.js·python·mysql·django
励志成为大佬的小杨1 小时前
pytorch模型的进阶训练和性能优化
人工智能·pytorch·python
m0_490240672 小时前
软件自动化测试(1):python+selenium自动化测试环境搭建
开发语言·python·selenium
橘猫云计算机设计2 小时前
基于ssm的食物营养成分数据分析平台设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
后端·python·信息可视化·数据挖掘·数据分析·django·毕业设计
liuhaoran___4 小时前
计算机求职面试中高频出现的经典题目分类整理
python
不辉放弃4 小时前
零基础讲解pandas
开发语言·python
databook4 小时前
线性判别分析(LDA):降维与分类的完美结合
python·机器学习·scikit-learn
慕丹4 小时前
虫洞数观系列三 | 数据分析全链路实践:Pandas清洗统计 + Navicat可视化呈现
python·mysql·数据挖掘·数据分析·pandas