从ipython运行python文件并将对象作为参数传递

时间:2016-08-05 20:15:40

标签: python debugging pandas ipython

总体目标

我正在尝试调试我编写的用于分析大型数据文件的函数。每次调试运行将文件读入pandas数据帧需要很长时间。所以我正在运行一个ipython控制台,我想在其中读取数据,然后调试我的功能。如果我结束调试会话,那么我仍然会将数据读入ipython控制台中的数据帧。 Jupyter笔记本更可取,但它没有调试功能。

问题

如何在ipython控制台中运行python文件上的调试器,然后将python对象作为参数传递给文件?

1 个答案:

答案 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类型可以安全地存储%。