在ipython控制台中键入时如何使用python代码文件?

时间:2014-02-23 14:08:38

标签: python matlab ipython

如果您熟悉Matlab,您知道您可以使用其定义文件中的任何已定义函数,如果它位于工作空间路径中,则无需调用或导入。
ipython中是否有任何机制模仿matlab的行为。我目前的工作流程是在Sublime文本中编写代码并将其粘贴到ipython(似乎很愚蠢)。你会建议任何其他方式来实现有效的

我太懒了,但是以某种方式在Ipython的启动文件中编写一个定期的自动导入代码可能会有效。也许ipython策展人会考虑这个。

3 个答案:

答案 0 :(得分:1)

我想你必须在每次代码更改时重新导入你的模块。 并且你可以在每个函数调用之前使用from my_module import *来避免模块名称,尽管这种结构运行缓慢。

答案 1 :(得分:0)

如果您在工作区中运行Python解释器,则可以导入文件:

/path/to/workspace$ ls
some_files    youtube.py     other_files

/path/to/workspace$ python
Python 2.7.3 (default, Dec 18 2012, 13:50:09)
Type "help", "copyright", "credits" or "license" for more information.
>>> import youtube
# I know there's a method get_video_thumbnail in my file
>>> youtube.get_video_thumbnail('http://youtu.be/IAooXLAPoBQ')
'http://img.youtube.com/vi/IAooXLAPoBQ/hqdefault.jpg'
>>> youtube.NO_PREVIEW
'/static/img/no_preview.png'
>>> # etc.

如果编辑Python文件,可以重新导入它,它将覆盖解释器中的模块命名空间及其内容。

答案 2 :(得分:0)

我很惊讶没有人建议使用%edit魔法功能。

another answer我给出了相同的主题,如果你将Sublime设置为你的编辑器,你可以简单地运行:

In [72]: %ed somefile.py

保存后&关闭,IPython会自动执行文件中包含的代码 - 所以不要复制/粘贴,而是让IPython发挥其魔力。

我从未使用过Sublime,所以我不确切知道它是如何工作的。作为替代方案,您可以查看LightTable如何与IPython通信,并为此编写Sublime扩展。