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

Python:如何从模块动态导入所有方法和属性

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

Python:如何从模块动态导入所有方法和属性

如果您有模块对象,则可以模仿逻辑

import *
用法,如下所示:

module_dict = my_module.__dict__try:    to_import = my_module.__all__except AttributeError:    to_import = [name for name in module_dict if not name.startswith('_')]globals().update({name: module_dict[name] for name in to_import})

但是,这几乎肯定是一个非常糟糕的主意。您将毫不客气地踩着任何具有相同名称的现有变量。当您

from blah import*
正常执行此操作时,这已经够糟糕的了,但是当您动态执行此操作时,关于哪些名称可能会冲突的不确定性更大。最好只是导入
my_module
,然后使用常规属性访问(例如
my_module.someAttr
getattr
从中访问所需的内容,或者如果需要动态访问其属性,则更好。



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

版权所有 (c)2021-2022 MSHXW.COM

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