在执行函数时放入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()