W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
你想導入一個模塊,但是模塊的名字在字符串里。你想對字符串調(diào)用導入命令。
使用importlib.import_module()函數(shù)來手動導入名字為字符串給出的一個模塊或者包的一部分。舉個例子:
>>> import importlib
>>> math = importlib.import_module('math')
>>> math.sin(2)
0.9092974268256817
>>> mod = importlib.import_module('urllib.request')
>>> u = mod.urlopen('http://www.python.org')
>>>
import_module只是簡單地執(zhí)行和import相同的步驟,但是返回生成的模塊對象。你只需要將其存儲在一個變量,然后像正常的模塊一樣使用。
如果你正在使用的包,import_module()也可用于相對導入。但是,你需要給它一個額外的參數(shù)。例如:
import importlib
# Same as 'from . import b'
b = importlib.import_module('.b', __package__)
使用import_module()手動導入模塊的問題通常出現(xiàn)在以某種方式編寫修改或覆蓋模塊的代碼時候。例如,也許你正在執(zhí)行某種自定義導入機制,需要通過名稱來加載一個模塊,通過補丁加載代碼。
在舊的代碼,有時你會看到用于導入的內(nèi)建函數(shù)import()。盡管它能工作,但是importlib.import_module() 通常更容易使用。
自定義導入過程的高級實例見10.11小節(jié)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: