3 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
你可以做
puzzle = __import__('8puzzle')
非常有趣的問題。我會(huì)記住不要用數(shù)字命名。
如果您愿意import *-您應(yīng)該查看此問題和答案。

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
上面的答案是正確的,但是到目前為止,推薦的方法是使用import_modulefunction:
importlib.import_module(name, package=None)
導(dǎo)入模塊。name參數(shù)以絕對(duì)或相對(duì)術(shù)語(例如pkg.mod或..mod)指定要導(dǎo)入的模塊。如果名稱是用相對(duì)術(shù)語指定的,則必須將package參數(shù)設(shè)置為要用作解析包名稱的定位符的包的名稱(例如,import_module('..mod', 'pkg.subpkg')import pkg.mod)。
import_module()函數(shù)充當(dāng)?shù)暮?jiǎn)化包裝 importlib.__import__()。這意味著該函數(shù)的所有語義均源自importlib.__import__()。這兩個(gè)函數(shù)之間最重要的區(qū)別在于,它import_module()返回指定的程序包或模塊(例如pkg.mod),而__import__()返回頂級(jí)程序包或模塊(例如pkg)。
如果要?jiǎng)討B(tài)導(dǎo)入自解釋程序開始執(zhí)行以來創(chuàng)建的模塊(例如,創(chuàng)建了Python源文件),則可能需要調(diào)用invalidate_caches()以便導(dǎo)入系統(tǒng)注意到新模塊。
__import__ 現(xiàn)在不推薦。
importlib.__import__(name, globals=None, locals=None, fromlist=(), level=0)
內(nèi)置__import__()功能的實(shí)現(xiàn)。
注意應(yīng)該以編程方式導(dǎo)入模塊,import_module()而不要使用此功能。
添加回答
舉報(bào)