总体目标
我正在尝试调试我编写的用于分析大型数据文件的函数。每次调试运行将文件读入pandas数据帧需要很长时间。所以我正在运行一个ipython控制台,我想在其中读取数据,然后调试我的功能。如果我结束调试会话,那么我仍然会将数据读入ipython控制台中的数据帧。 Jupyter笔记本更可取,但它没有调试功能。
问题
如何在ipython控制台中运行python文件上的调试器,然后将python对象作为参数传递给文件?
答案 0 :(得分:0)
只需使用当前正在使用code.InteractiveConsole(globals()).interact('')
的{{3}}。
确保在执行此操作之前导入IPython:
import IPython
# lots of code
# even more code
IPython.embed()
您还可以在IPython中保存一些变量,因此您不必再次运行它们。
%storemagic
在IPython的数据库中存储变量和宏。
要在启动时自动恢复存储的变量,请将其添加到ipython_config.py
:
c.StoreMagic.autorestore = True
示例:
In [1]: l = ['hello',10,'world']
In [2]: %store l
In [3]: exit
(IPython session is closed and started again...)
ville@badger:~$ ipython
In [1]: l
Out[1]: ['hello', 10, 'world']
注意:
应该注意的是,如果你改变一个变量的值,你需要再次存储它,如果你想要保留新的值。
另请注意,变量需要是可选择的;最基本的python类型可以安全地存储%。