Python模块变量进入当前工作空间

时间:2015-03-06 17:44:34

标签: php python matlab import

正如我之前提到的,我最初来自Matlab背景,然后在发现Python之前转移到PHP。在Matlab和PHP中,有一些方法可以创建一个脚本,在运行时所有变量都被转储到当前工作区。 Matlab中的工作空间是从那里调用时的解释器,或者是从函数调用时函数的工作空间。我会将此功能用于常量 - 例如,绘制要定义一组默认字体,线宽等的工具。

现在在Python中我可以导入一个模块,但是那个模块中的所有引用常量都需要from {module} import *{module}.{constant}

这并不能真正限制我只是给您带来不便。但是,能够导入一个常量文件并且只需将常量用于任何调用它们就可以了。

我怀疑Python不允许这样做,但我想我会问是否有人有一个聪明的工作。

2 个答案:

答案 0 :(得分:0)

这通常不是为了节省一点点打字而应该做的事情,但这是你可以做到的一种方式:

# define some constants
PI = 3.1415927
ANSWER = 42
UNLUCKY = 13

# put them into __main__ module (your interactive session)
if __name__ != "__main__":
    import sys as _sys
    _sys.modules["__main__"].__dict__.update(
        dict((k, v) for (k, v) in globals().iteritems() if not k.startswith("_")))

答案 1 :(得分:0)

我不确定您的问题,但也许您的IDE可以帮助您摆脱这些导入。例如,在Spyder中,您可以执行将在启动新控制台时运行的启动脚本。在那里放置导入将提供对这些文件的直接访问。