melobot¶
melobot 顶级对象与方法¶
- melobot.lazy_load(namespace: dict[str, Any], location: str, item: str | None = None, alias: str | None = None) str [源代码]¶
惰性加载模块的方法
指定的模块或者对象,在发生第一次属性访问时触发加载,并同步修改 namespace 字典中对应键值。
在完成加载后与常规的 import 语句效果无异,但需要略微注意未加载时的一些行为。 例如未加载时 print 对象,行为可能就不一致。
# 典型的使用方法: if TYPE_CHECKING: import matplotlib as mpl import matplotlib.font_manager as fm import PIL from matplotlib import pyplot as plt else: _g = globals() lazy_load(_g, "matplotlib", alias="mpl") lazy_load(_g, "matplotlib.font_manager", alias="fm") lazy_load(_g, "PIL") lazy_load(_g, "matplotlib", item="pyplot", alias="plt")
假设有导入语句:
import xxx
import xxx as zzz
from xxx import yyy
from xxx import yyy as zzz
- melobot.add_import_fallback(*names: str) None [源代码]¶
添加未导入模块或包的导入回退,非线程安全
绝大多数情况下,melobot 都能处理好导入行为。 但在极少数情况下,某些包或模块可能需要回退到默认的导入机制
使用此方法,将模块名以 names 起始的模块或包标记为需要回退
- 参数:
names (str) -- 需要回退的模块或包名称的起始字符串
- 返回类型:
None
- melobot.MODULE_EXTS¶
模块扩展名元组,包含当前平台所有可加载的模块扩展名。优先级从高到低,且与操作系统平台有关
melobot 元信息¶
- class melobot.MetaInfo[源代码]¶
基类:
object
melobot 项目只读元信息
- ver_info: ClassVar[VersionInfo]¶
melobot 版本信息
- class melobot._meta.VersionInfo[源代码]¶
基类:
NamedTuple
版本信息元组