繁体   English   中英

Python Shell和execfile范围

[英]Python shell and execfile scope

我在ipython shell内工作,通常需要重新加载包含我正在构造的函数的脚本文件。

在我的main.py中,我有:

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

如果我已经在同一ipython会话中直接运行execfile命令,则调用myreload()会很好。

但是,由于某种原因,如果会话是新鲜的,而我只是调用了execfile(“ main.py”),则myreload()实际上不会使otherfile.py内部的功能可用。 它不会引发任何错误。

有任何想法吗?

函数创建新的作用域。 execfile()在当前作用域中运行脚本。 您正在做什么将无法正常工作。

如果您想学习ipython的实际正确用法(即在交互模式下),则应使用魔术命令,例如:

%run

%edit

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

另请参见http://ipython.org/ipython-doc/stable/interactive/tutorial.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM