首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python shell和execfile作用域

Python shell和execfile作用域
EN

Stack Overflow用户
提问于 2010-08-22 13:54:06
回答 2查看 2.3K关注 0票数 2

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

在我的main.py中,我有:

def myreload():execfile("main.py") execfile("otherfile.py")

如果我已经在同一个ipython会话中直接运行execfile命令,那么调用myreload()就可以很好地工作。

然而,由于某些原因,如果会话是新的,并且我只是调用了execfile("main.py"),那么myreload()实际上不会使otherfile.py内部的函数可用。但它不会抛出任何错误。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-22 13:56:32

函数创建一个新的作用域。execfile()在当前作用域中运行脚本。你所做的是行不通的。

票数 2
EN

Stack Overflow用户

发布于 2013-05-24 00:30:34

如果你想学习ipython的实际正确用法(即在交互模式下),那么你应该使用像这样的神奇命令:

代码语言:javascript
复制
%run

代码语言:javascript
复制
%edit

有关%run?的这些功能,请查看帮助。这提供了明确的示例。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3540368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档