进入IPython中的函数

2024-06-06 23:29:12 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法进入ipython中函数的第一行。我想会是这样的:

%step foo(1, 2)

它运行ipdb,并在foo的第一行设置断点。

如果我现在想这样做,我必须转到函数的源代码并添加一个import ipdb; ipdb.set_trace()行。


Tags: 函数import源代码foostepipythontraceset
2条回答

ipdb从今年早些时候的0.7开始就支持runcall、runeval和run。你可以像pdb.runcall那样使用它:

In [1]: def foo(a, b):
   ...:     print a + b
   ...:

In [2]: import ipdb

In [3]: ipdb.runcall(foo, 1, 2)
> <ipython-input-1-2e565fd9c4a4>(2)foo()
      1 def foo(a, b):
----> 2     print a + b
      3

ipdb>

你所要求的IPython魔法现在已经在新版本中实现了: https://stackoverflow.com/a/46333421/4374441

您只需键入%debug foo(1, 2),然后s即可进入函数。

相关问题 更多 >