Python:如何从目录中的所有模块导入?

Python:如何从目录中的所有模块导入?,第1张

Python:如何从目录中的所有模块导入

my_modules
文件夹中,添加一个
__init__.py
文件以使其成为正确的程序包。在该文件中,您可以在文件的全局范围内注入每个模块的全局变量
__init__.py
,从而在导入模块时使它们可用(在将全局
__all__
变量的名称也添加到变量之后):

__all__ = []import pkgutilimport inspectfor loader, name, is_pkg in pkgutil.walk_packages(__path__):    module = loader.find_module(name).load_module(name)    for name, value in inspect.getmembers(module):        if name.startswith('__'): continue        globals()[name] = value        __all__.append(name)

现在,不要做:

from my_modules.class1 import Stuff

您可以这样做:

from my_modules import Stuff

或将所有内容导入全局范围,这似乎是您想要执行的 *** 作:

from my_modules import *

这种方法的问题在于,类之间会相互覆盖,因此,如果提供了两个模块

Foo
,则只能使用最后一个导入的模块。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存