当我们自定义编写一个框架时,需要先导入依赖的模块可以用到如下的导入方法

def import_object(name):
# type: (_BaseString) -> Any
"""Imports an object by name.

import_object('x') is equivalent to 'import x'.
import_object('x.y.z') is equivalent to 'from x.y import z'."""


if not isinstance(name, str):
    # on python 2 a byte string is required.
    name = name.encode('utf-8')
if name.count('.') == 0:
    return __import__(name, None, None)

parts = name.split('.')
obj = __import__('.'.join(parts[:-1]), None, None, [parts[-1]], 0)
try:
    return getattr(obj, parts[-1])
except AttributeError:
    raise ImportError("No module named %s" % parts[-1])

某个夜晚
11 声望1 粉丝

心之所向,素履以往