在执行函数时放入python解释器

我有一个function的Python模块:

def do_stuff(param1 = 'a'): if type(param1) == int: # enter python interpreter here do_something() else: do_something_else() 

有没有一种方法可以放入命令行解释器,我有评论? 所以,如果我在python中运行以下内容:

 >>> import my_module >>> do_stuff(1) 

我在我在do_stuff()注释的范围和上下文中获得我的下一个提示?

插入

 import pdb; pdb.set_trace() 

将在那个时候进入pythondebugging器

看到这里: http : //docs.python.org/library/pdb.html

如果你想要一个标准的交互式提示(而不是debugging器,如prestomation所示),你可以这样做:

 import code code.interact(local=locals()) 

请参阅: 代码模块 。

如果你安装了IPython,并且想要一个IPython shell,你可以为IPython> = 0.11做这个:

 import IPython; IPython.embed() 

或旧版本:

 from IPython.Shell import IPShellEmbed ipshell = IPShellEmbed() ipshell(local_ns=locals()) 

如果你想要一个默认的Python解释器,你可以这样做

 import code code.interact(local=dict(globals(), **locals())) 

这将允许访问当地人和全局。

如果您想放入IPython解释器, IPShellEmbed解决scheme已过时 。 目前有效的是:

 from IPython import embed embed()