从模块访问变量而不必在python中指定模块名称

时间:2014-07-02 15:01:51

标签: python

是否可以(不使用from foo import *)访问foo中声明的变量,而无需编写foo.variable或使用from foo import variable

一方面,我需要轻松访问变量,如果我能看到它们的值,那就太好了(我使用spyder,这是一个MATLAB启发的工作区,显示所有变量并使你能够看看他们的价值观)

另一方面,我无法使用from foo import *,因为我需要使用大量reload

2 个答案:

答案 0 :(得分:0)

您可以尝试使用dir()查看本地范围的内容,或dir(foo)显示foo的内容。这不会显示其值,但您可以使用locals()globals()返回本地或全局范围内容的词典。

由于他们是字典,您可以执行locals()['foo']

之类的操作

答案 1 :(得分:0)

好吧,我发现我实际上可以做到这一点:

import foo
from foo import *

然后当我想重新加载时,这实际上有效:

reload(foo)
import foo
from foo import *