如果您熟悉Matlab,您知道您可以使用其定义文件中的任何已定义函数,如果它位于工作空间路径中,则无需调用或导入。
在ipython
中是否有任何机制模仿matlab的行为。我目前的工作流程是在Sublime文本中编写代码并将其粘贴到ipython
(似乎很愚蠢)。你会建议任何其他方式来实现有效的
我太懒了,但是以某种方式在Ipython的启动文件中编写一个定期的自动导入代码可能会有效。也许ipython策展人会考虑这个。
答案 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扩展。