程式化匯入

Python 2.x >= 2.7

要通過函式呼叫匯入模組,請使用 importlib 模組(從 2.7 版開始包含在 Python 中):

import importlib
random = importlib.import_module("random")

importlib.import_module() 函式還將直接匯入包的子模組:

collections_abc = importlib.import_module("collections.abc")

對於舊版本的 Python,請使用 imp 模組。

Python 2.x <= 2.7

使用 imp.find_moduleimp.load_module 函式執行程式設計匯入。

取自標準庫文件

import imp, sys
def import_module(name):
    fp, pathname, description = imp.find_module(name)
    try:
        return imp.load_module(name, fp, pathname, description)
    finally:
        if fp:
            fp.close()

千萬不要使用 __import__() 以程式設計方式匯入模組! 有一些微妙的細節涉及 sys.modulesfromlist 引數等等,很容易忽略 importlib.import_module() 為你處理。