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

相关推荐
yenggd10 小时前
华为批量下发配置命令使用telnetlib模块
网络·python·华为
不惑_11 小时前
通俗理解感知机(Perceptron)
人工智能·python
Everybody_up11 小时前
pycharm中编译环境配置
ide·python·pycharm
零小陈上(shouhou6668889)11 小时前
YOLOv8+PyQt5输电线路缺陷检测(目前最全面的类别检测,可以从图像、视频和摄像头三种路径检测)
python·qt·yolo
luoluoal11 小时前
基于python的爬虫的贵州菜价可视化系统(源码+文档)
python·mysql·django·毕业设计·源码
2501_9216494911 小时前
股票 API 对接,接入美国纳斯达克交易所(Nasdaq)实现缠论回测
开发语言·后端·python·websocket·金融
2401_8414956411 小时前
【LeetCode刷题】打家劫舍
数据结构·python·算法·leetcode·动态规划·数组·传统dp数组
李昊哲小课11 小时前
简化版天气爬虫教程
爬虫·python
38242782711 小时前
python:Ajax爬取电影详情实战
开发语言·python·ajax
天呐草莓11 小时前
集成学习 (ensemble learning)
人工智能·python·深度学习·算法·机器学习·数据挖掘·集成学习