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

在Python中全局加载应用程序中任何文件的类或函数,python,Python,我正在用Python构建一个应用程序,我有我的整个包。虽然我非常喜欢这样一个事实,即您必须显式地声明您需要的每个导入,但我想知道是否有一种方法可以隐式地向全局范围添加一些函数或类 在我的示例中,a需要一个在所有文件中都可用的工厂类。像dict、str等类都是可用的,我想也许可以用我的\uuuu init\uuuu.py中相同的方式将我自己的类添加到全局范围中 这可能吗?对于交互模式,将所有导入定义添加到一个文件中(例如all_my_imports.py),如下所示: from abc impor

我正在用Python构建一个应用程序,我有我的整个包。虽然我非常喜欢这样一个事实,即您必须显式地声明您需要的每个导入,但我想知道是否有一种方法可以隐式地向全局范围添加一些函数或类

在我的示例中,a需要一个在所有文件中都可用的工厂类。像dict、str等类都是可用的,我想也许可以用我的
\uuuu init\uuuu.py
中相同的方式将我自己的类添加到全局范围中


这可能吗?

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

from abc import xyz
from my_stuff import *
然后,将环境变量指向它

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

from all_my_imports import * 

请记住,依赖此功能是不好的,最好(几乎)明确导入所有模块。

是的,这必须是可能的。你试过了吗?据我所知,没有真正的方法将模块添加到内置程序中(…比导入模块需要更少的代码)。你看不出答案是什么,但我想我必须对这种显式导入绞尽脑汁。仅供参考:我正在开发一个web应用程序,不希望使用环境变量。尽管如此,我还是会显式地导入内容。好吧,然后使用我声明的第二个选项:将所有定义放在一个文件中,然后导入单个文件。事实上,您确实需要“绞尽脑汁”保持明确,这是Python的核心思想之一,是什么赋予了它如此的可读性