在irb我们可以这样做:
>> load 'example.rb'
它将源加载example.rb
到环境中。
bpython 和 ipython 的替代方案是什么?
假设你有一个名为 example.py 的文件存在于你的 PYTHONPATH 中(很像 ruby 的 $LOAD_PATH)
在普通python中: 详细信息在这里
>>> import example # Import module.
>>> example.hello() # Run code
hello
# Then, lets say you change the hello function to say "hello world, I'm changed!"
>>> reload(example)
<module 'example' from 'example.pyc'>
>>> example.hello()
hello world, I changed!
IPython 具有上述所有功能,并添加了其他方式。
dreload 类似于 reload,但递归地重新加载 example.py 导入的模块。这意味着如果 example.py 依赖于 example2.py 并且您更改了 example2.py,example.example2 将反映更新后的更改
In [5]: dreload(example) # (after import, of course)
In [6]: dreload? # Details...
%run 魔法是我最喜欢的,因为它执行调用的文件,然后将该文件的命名空间嵌入到您当前的会话中。它意味着当它被调用时 reload 和 dreload,也像 import * 一样工作。我会说这是最像 ruby 的“负载”。
In [1]: %run example.py
In [2]: hello()
hello
# Make some changes to code
In [3]: %run example.py
hello world, I changed!
In [4]: %run? # Details...
from this import *
将 的内容加载this.py
到您当前的命名空间中。