溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中Importlib與__import__指的是什么

發(fā)布時(shí)間:2020-10-26 11:05:50 來(lái)源:億速云 閱讀:175 作者:小新 欄目:編程語(yǔ)言

Python中Importlib與__import__指的是什么?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

Importlib模塊與__import__都可以通過(guò)過(guò)字符串來(lái)導(dǎo)入另外一個(gè)模塊,但在用法上和本質(zhì)上都有很大的不同。

以一個(gè)例子為證:

以下為我的工程目錄結(jié)構(gòu):

Python中Importlib與__import__指的是什么

lib/test.py:

name = "Jack"
def getName():
print(name)
return name

demo.py:

name = "Amy"
def getName():
print(name)
return name

Importlib模塊的例子:

testImportlib.py:

import importlib
mName = "lib.test"
module = importlib.import_module(mName)
module.getName()

Importlib是python的一個(gè)庫(kù),通過(guò)導(dǎo)入importlib,調(diào)用import_module()方法,傳入用戶想要獲取的模塊對(duì)應(yīng)的路徑字符串,即可獲取一個(gè),模塊module,module可以調(diào)用這個(gè)test模塊下的所有屬性和方法。

運(yùn)行截圖:

Python中Importlib與__import__指的是什么__import__的例子:

__import__是python的一個(gè)內(nèi)置方法,直接調(diào)用__import__()即可獲取一個(gè)模塊。

testImport.py:

mName = "demo"
module = __import__(mName)
module.getName()

此時(shí)調(diào)用的是相同目錄下的demo模塊,可順利地獲取這個(gè)模塊,那么當(dāng)不再同一個(gè)目錄下呢?

修改testImport.py:

mName = "lib.test"
module = __import__(mName)
module.getName()

此時(shí)的運(yùn)行結(jié)果為:

Python中Importlib與__import__指的是什么出錯(cuò)提示為,當(dāng)前的模塊'lib'沒(méi)有g(shù)etName()這個(gè)方法,因此沒(méi)有正確獲取到test模塊。

繼續(xù)修改此文件:

mName = "lib.test"
module = __import__(mName,fromlist = ('test',))
module.getName()

運(yùn)行結(jié)果為:

Python中Importlib與__import__指的是什么當(dāng)加上fromlist屬性即可正確獲取。

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)Python中Importlib與__import__指的是什么大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI