在Python中为应用程序中的任何文件全局加载类或函数

时间:2012-07-01 09:01:27

标签: python

我正在用Python构建一个应用程序,我有我的整个包。虽然我真的很喜欢你必须明确地陈述你需要的每一个导入,但我想知道是否有办法隐式地将一些函数或类添加到全局范围。

在我的示例中,想要一个应该在所有文件中都可用的Factory类。 dict,str等类都可用,我想也许可以在我的__init__.py中以相同的方式将我自己的类添加到全局范围。

这可能吗?

1 个答案:

答案 0 :(得分:0)

对于交互模式,将所有导入定义添加到文件(例如all_my_imports.py),如下所示:

from abc import xyz
from my_stuff import *

然后,将环境变量PYTHONSTARTUP指向它。

从脚本中,只需导入包含上述定义的文件:

from all_my_imports import * 

请记住,依赖此功能并不好,显然导入所有模块(几乎)总是更好。