栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
,则只能使用最后一个导入的模块。



转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/640117.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号