使用 importlib 创建的模块的类型(对于 mypy)是什么?
What is the type (for mypy) of a module created with importlib?
我正在使用 importlib
加载模块:
from importlib.machinery import SourceFileLoader
from importlib.util import spec_from_loader, module_from_spec
from pathlib import Path
from typing import Union
PathStr = Union[Path, str]
def load_module(module_path:PathStr, module_name="module"):
"""Load and return a module"""
loader = SourceFileLoader(module_name, module_path)
spec = spec_from_loader(loader.name, loader)
module = module_from_spec(spec)
loader.exec_module(module)
return module
函数返回的模块类型是什么?我想不通。
这个类似的答案说明了一切:
这是 importlib.import_module
的持久性 information:The 类型注释的摘要 returns types.ModuleType
def import_module(name: str, package: Optional[str] = ...) -> types.ModuleType: ...
...然后解决方案的作者提供了一些建议来帮助mypy
我正在使用 importlib
加载模块:
from importlib.machinery import SourceFileLoader
from importlib.util import spec_from_loader, module_from_spec
from pathlib import Path
from typing import Union
PathStr = Union[Path, str]
def load_module(module_path:PathStr, module_name="module"):
"""Load and return a module"""
loader = SourceFileLoader(module_name, module_path)
spec = spec_from_loader(loader.name, loader)
module = module_from_spec(spec)
loader.exec_module(module)
return module
函数返回的模块类型是什么?我想不通。
这个类似的答案说明了一切:
这是 importlib.import_module
的持久性 information:The 类型注释的摘要 returns types.ModuleType
def import_module(name: str, package: Optional[str] = ...) -> types.ModuleType: ...
...然后解决方案的作者提供了一些建议来帮助mypy