只需在发电机上拨打help p即可。

lst = list(gen)

lst

请注意,这会影响不会返回任何其他项目的生成器。

您也无法在IPython中直接调用help p,因为它与列出代码行的命令冲突。

测试此文件:

def gen():

yield 1

yield 2

yield 3

yield 4

yield 5

import ipdb

ipdb.set_trace()

g1 = gen()

text = "aha" + "bebe"

mylst = range(10, 20)

运行时:

$ python code.py

> /home/javl/sandbox/so/debug/code.py(10)()

9

---> 10 g1 = gen()

11

ipdb> n

> /home/javl/sandbox/so/debug/code.py(12)()

11

---> 12 text = "aha" + "bebe"

13

ipdb> lst = list(g1)

ipdb> lst

[1, 2, 3, 4, 5]

ipdb> q

Exiting Debugger.

转义函数/变量/调试器名称冲突的一般方法

存在调试器命令help p和help pp,其将在help exec和prettyprint之后的任何表达式。

所以你可以按如下方式使用它:

$ python code.py

> /home/javl/sandbox/so/debug/code.py(10)()

9

---> 10 g1 = gen()

11

ipdb> n

> /home/javl/sandbox/so/debug/code.py(12)()

11

---> 12 text = "aha" + "bebe"

13

ipdb> p list(g1)

[1, 2, 3, 4, 5]

ipdb> c

还有一个help p命令,通过在表达式前加上help pp来强制调用,它强制调试器将表达式作为Python表达式。

ipdb> !list(g1)

[]

有关详细信息,请参阅help p,help pp和help exec(在调试器中)。

ipdb> help exec

(!) statement

Execute the (one-line) statement in the context of

the current stack frame.

The exclamation point can be omitted unless the first word

of the statement resembles a debugger command.

To assign to a global variable you must always prefix the

command with a 'global' command, e.g.:

(Pdb) global list_options; list_options = ['-l']

python generator object_python - 将生成器对象转换为列表以进行调试相关推荐

  1. python generator类型_python生成器(Generator)

    生成器是一种特殊的迭代器,它提供了自定义迭代器的一种方式.生成器最牛逼的特点就是对延迟操作的支持,一次只返回一个结果,然后状态挂起,以便下次从此状态开始继续执行. python中有两种类型的生成器:生 ...

  2. Python | 输入逗号分隔的元素,转换为列表并打印

    Input comma separated elements (integers), and converts it into list in Python. 输入逗号分隔的元素(整数),并将其转换为 ...

  3. Python小工具:将对象转换为不可变类型并计算其哈希值

    在设计单元测试时,我们往往需要将运行结果与预期结果相比较.但是,如果运行结果是一个比较复杂的数据结构的话,那么我们可能需要将预期结果硬编码到代码中,或存储到文件中,都需要占用一定的空间.为了减少单元测 ...

  4. python从EXCEL中读取数据转换为列表

    首先,安装xlrd库 我之前安装了Anaconda,Anaconda自带xlrd库,在这里安装xlrd库这一步就省略了. 代码实现 下面是代码部分 import xlrd as xd data =xd ...

  5. python tokenize_model_python-AttributeError:“令牌生成器”对象在Keras中没有属性“ oov_token”...

    我正在尝试使用加载的令牌生成器对文本进行编码,但出现以下错误 AttributeError: 'Tokenizer' object has no attribute 'oov_token' 我包括以下 ...

  6. Python编程基础——序列:字符串、列表和元组

    一.简介 Python序列指:它们的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员.包括:字符串(普通字符串和unicode字符串).列表.和元组类型.        因为这些类型 ...

  7. python中可迭代对象_什么是python中的可迭代对象(iterable object)?

    我们经常在打印报错信息中和英文的文档中看到iter这个词根,可以组合成iterable/iterate等派生词.这个iter可以翻译成"迭代",这样iterable object的 ...

  8. python学习笔记之序列,内含列表和元组的常用方法

    列表.元组和字符串的共同点: 都可以通过索引得到每一个元素 默认索引值总是从0开始 可以通过分片的方法得到一个范围内的元素的集合 有很多共同的操作符(重复操作符.拼接操作符.成员关系操作符) 列表和元 ...

  9. Python(迭代、三元表达式、列表生成、生成器、迭代器)

    迭代 什么是迭代1 重复2 下次重复一定是基于上一次的结果而来 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). 在 ...

最新文章

  1. 分布式缓存技术memcached学习(一)——linux环境下编译memcahed
  2. 送给同事的5个新年计划
  3. android nfcDemo
  4. java 伪异步 netty,Netty(一) - 不死的达芬奇的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. Mastering the Java CLASSPATH
  6. 一个游戏美术写给策划的快速入门(二)
  7. 543. 二叉树的直径
  8. 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法
  9. c++ stl队列初始化_声明,初始化和访问向量| C ++ STL
  10. 第五章(1)Libgdx应用框架之生命周期
  11. C语言,期末复习之编写程序返回三个整数中的中间数
  12. 2020年6月“省时查报告”十大热门报告盘点(附下载链接)
  13. 9 条非常强大的 JavaScript 技巧
  14. 法兰克机器人外部自动_行业数据 | 服务机器人销售额创新纪录:全球增长32
  15. 《别闹了,费曼先生》听书笔记
  16. 扩展欧几里得算法超详解
  17. jeff dean_Jeff Dean的构建大型分布式系统的软件工程建议
  18. openMSP430 介绍
  19. Windows注册表及常见子项
  20. 一个优秀的团队,就该这样定目标

热门文章

  1. addeventlistener不支持ajax_好程序员web前端学习路线分享了解AJAX是什么
  2. 第一章踏上python之旅_仙侠旅人传
  3. Leetcode每日一题:198.house-robber(打家劫舍)
  4. 多叉树/图结构维护问题转线性结构——dfs序
  5. 给 Sublime Text3 添加右键菜单
  6. python遇到的问题
  7. undefined reference to symbol' pthread_create@@GLIBC_2.2.5'
  8. android本地图片,Android中ImageView实现选择本地图片并显示功能
  9. 删除隐藏版本信息 版本回退_Visual Studio Code 2019 August版本发布,新功能尝鲜
  10. 计算机的社会应用PPT,《电子计算机的发展与应用》ppt说课稿信息技术七上.ppt...