如何在 ipdb 会话中使用 list()?



在我有的Python 3.5.2脚本中,例如,

import ipdb
ipdb.set_trace()

口译员击中了这些台词,让我进入ipdb会议。可以理解的是,与iPython解释器会话相比,ipdb的功能有限(例如,没有魔术命令(。但是,我惊讶地发现一些Python内置不起作用,即list()

ipdb> some_data                                                                                                                                               
<zip object at 0x7f416e820388>
ipdb> list(some_data)                                                                                                                                         
*** Error in argument: '(some_data)'
ipdb> list([])                                                                                                                                                
*** Error in argument: '([])'

我猜内置函数list()ipdb命令之一之间存在名称冲突。有什么办法吗?

ipdb> somedata = {'a':1, 'b': 2}
ipdb> !list(somedata.keys())
['a', 'b']

!将覆盖所有pdb命令。

资料来源: https://github.com/gotcha/ipdb/issues/106:

在pdb 中,似乎你可以像转换一样使用 C。它可能在iPython中类似。

你能试试吗:

ipdb> res = (list) (some_data) 

相关内容

  • 没有找到相关文章

最新更新