在 Python 中随时插入解释器

2024-01-04

我知道如何使用口译员pdb and IPython,但这需要我事先确切地知道我想在哪里停止。然而,我经常运行需要几分钟到几小时的数字处理脚本,我想确切地知道它的进展情况。一种解决方案是简单地在各处放置大量日志记录语句,但随后我要么被太多信息淹没,要么无法准确记录我想知道的内容。

有没有一种方法可以初始化侦听器循环,在某些组合键下,该侦听器循环会将我放入当前所在的代码中?想想 CTRL+Z 但让我使用 Python 而不是 Bash。


您可以使用信号模块 http://docs.python.org/library/signal.html设置一个处理程序,当您按下 control-C 或 control-Z 或其他任何命令时,该处理程序将启动调试器。SIGINTR、SIGSUSP。

例如定义一个模块instant_debug.py覆盖 SIGQUIT,

import signal
import pdb

def handler(signum, frame):
  pdb.set_trace()

signal.signal(signal.SIGQUIT, handler)

然后制作一个脚本

import instant_debug
import time

for i in xrange(1000000):
  print i
  time.sleep(0.1)

在执行过程中的任何时候,您都可以通过键入跳转到代码CTRL+\,检查堆栈u and d和正常情况一样pdb,然后继续c就好像什么都没发生过一样。请注意,您只会在下一个“原子”操作结束时跳入——这意味着不会在巨大的 C 模块中间停止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中随时插入解释器 的相关文章

  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • R 中的 readHTMLTable 仅从篮球参考页面返回前两个表

    我正在尝试从篮球参考网站抓取球队统计网页 但当我使用 readHTML 时 它只会带回前两个表格 我的 R 代码如下所示 url http www basketball reference com leagues NBA 2015 html
  • 使用 GCD 同步 Swift 3 中的属性

    我看了今年的WWDCGCD最近谈话 我认为有一个代码片段有问题 这是关于使用以下方法使属性成为线程安全的调度队列 class MyObject private var internalState Int private let intern
  • 在 for 循环中声明匿名结构,clang 无法编译

    在 for 循环中声明匿名结构的代码在 gcc 中使用 std c99 gnu99 工作得很好 for struct int foo int bar i 0 i foo lt 10 i foo 但是 当我切换到 clang 时 我收到了错误
  • 使用 Hadoop/MapReduce 查找连接的组件

    我需要为一个巨大的数据集找到连接的组件 图是无向的 一个显而易见的选择是 MapReduce 但我是 MapReduce 的新手 我没有足够的时间来学习它并自己编写代码 我只是想知道是否有任何现有的 API 可以解决这个问题 因为这是社交网
  • Qt Creator 编译器配置问题

    我刚刚开始学习 C 并遇到了 Qt Creator 我已经将它与内置的 MinGW 编译器一起安装了 但是我无法让我的项目 构建并运行 我在下面附上了一些屏幕截图 谢谢您的帮助 最后一张图片显示了我可以选择的两个自动检测套件 我尝试创建自己
  • 如何在 Svelte 3 中拥有条件属性?

    有没有更简单的方法来编写以下复选框组件 if disabled
  • 给定一组有限的排序实数,生成总和 <= k 的所有可能子集

    我想知道是否存在解决这个问题的算法 它与背包 0 1 问题或幂集问题有点相似 但又有所不同 给定一组有限的排序实数 我们需要生成总和 解决问题的一种方法是简单地从最大数字 4 46 开始遍历 看看可以将多少个放入篮子中 然后继续向下一个最小
  • 使用多线程写入文件

    我正在尝试使用多个线程在 Java 中编写一个大文件 我都尝试过FileWriter and bufferedWriterJava 中的类 正在写入的内容实际上是使用读取的整个表 Postgres CopyManager并写下 文件中的每一
  • matplotlib 中的图例设置(numpoints 和 scatterpoints)不起作用

    我试图让图例适合虚线 所以我稍微使用了 rcParams 但由于某些原因它无法在我的计算机上工作 import numpy as np import matplotlib pyplot as plt import matplotlib ma
  • kCGColorSpaceGenericRGB 在 iPhone 上已弃用?

    我正在尝试使用以下代码获取位图上下文 GContextRef MyCreateBitmapContext int pixelsWide int pixelsHigh CGContextRef context NULL CGColorSpac
  • UILabel 根据要显示的文本自动调整大小

    我正在开发一个应用程序 其中需要根据要显示的文本自动调整文本区域的大小 首先 我不确定我是否应该使用UILabel 逻辑上是显示静态文本的最佳选择 就我而言 或UITextView 我希望如何使用它 我想简单地用文本初始化我的标签或文本视图
  • 如何在 django 中将列表从视图传递到模板

    我正在尝试将列表从 Django 中的视图传递到模板 在我的文件 wiew py 中 我定义了名为 hour 的视图 This Python file uses the following encoding utf 8 from djang
  • NSKeyedArchiver 和 NSKeyedUnarchiver 与 NSMutableArray

    我希望这与我在这里使用可变数组这一事实无关 但这让我感到困惑 所以如果是这种情况 我也不会感到惊讶 背景 我制作了一个小型数据库 它本质上是一个包含自定义对象的 NSMutableArray 我们可以将其称为 recordObjects 我
  • 如何在 MAC OS X 应用程序中更改 NSTableView 标题背景颜色?

    我已经尝试了所有找到的建议解决方案 但最终将此作为最接近的 目标是为以下对象提供自定义颜色 完整的标题背景 例如绿色 文字 例如白色 排序控件颜色 例如白色 目前 我只能正确设置内部背景和文本颜色 同时将标题边框和排序控件保留为默认白色 我
  • 为什么vertical-align: middle不能与表格单元格中的输入元素一起使用?

    这是我的代码 vertical align top margin 0 td vertical align middle border 1px solid red td nth child 1 line height 3em td nth c
  • 在sql中转换excel百分位公式

    PERCENTILE C2 C11080 E2 E11080 G2 G11080 73 上面的公式是Excel百分位数公式 我想将其转换为SQL 11080是该列的计数 如果有人可以帮助我 那将会非常有帮助 我相信percentile co
  • PhoneGap 和 Cordova 之间的区别以及我们应该安装哪一个?

    我的任务是开发 Android 和 iOS 应用程序PhoneGap http phonegap com http phonegap com 然而 当我读到时 事情开始变得非常复杂 有些人说Cordova http cordova apac
  • 不支持 Hive 方法

    我正在尝试使用 Hive 作为底层数据存储来运行 SQl 查询 该查询调用 Big Decimal 函数并引发以下错误 不支持该方法 org apache hadoop hive jdbc HivePreparedStatement set
  • 以编程方式检测 Android 屏幕覆盖

    有没有办法让应用程序能够 检查其顶部是否存在屏幕覆盖层 以及 找出哪个包名称拥有覆盖层 我知道 Android M 及更高版本能够在权限页面中检测屏幕覆盖 并在检测到屏幕覆盖时拒绝权限更改 但开发人员是否能够在应用程序层实现相同的功能 您可
  • 在 Python 中随时插入解释器

    我知道如何使用口译员pdb and IPython 但这需要我事先确切地知道我想在哪里停止 然而 我经常运行需要几分钟到几小时的数字处理脚本 我想确切地知道它的进展情况 一种解决方案是简单地在各处放置大量日志记录语句 但随后我要么被太多信息