我是从Ipython外壳内部工作的,通常需要重新加载包含我在构建功能的功能的脚本文件。

在我的主体内部。我有:

def myreload():execfile(“ main.py”)execfile(“ shotefile.py”)

如果我已经在同一ipython会话中运行了execfile命令,呼叫myreload()工作正常。

但是,由于某种原因,如果会话是新鲜的,而我刚刚称为execfile(“ main.py”),则MyReLoad()实际上并未从oferter.py内部产生函数。不过,它不会丢任何错误。

有任何想法吗?

有帮助吗?

解决方案

函数创建一个新范围。 execfile() 在当前范围内运行脚本。您正在做的事情将不起作用。

其他提示

如果您寻求学习实际正确使用 ipython (即在交互式模式下),然后您应该使用魔法命令,例如:

%run

%edit

检查这些功能的帮助 %run?. 。这提供了明确的示例。

也可以看看 http://ipython.org/ipython-doc/stable/interactive/tutorial.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top