![](/img/trans.png)
[英]Can importlib.import_module(m) do `from m import *`?
[英]Can't import module with importlib.import_module
我想使用importlib.import_module
動態導入模塊。 我的代碼是這樣的:
import os
import importlib
os.chdir('D:\\Python27\\Lib\\bsddb')
m = importlib.import_module('db')
print dir(m)
我可以在Python控制台中成功地做到這一點。 但是,如果我在文件C:\\Users\\Administrator\\Desktop>python test.py
運行這些代碼,它將無法工作:
Traceback (most recent call last):
File "test.py", line 5, in <module>
m = importlib.import_module("db")
File "D:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named db
但是,如果我將db.py文件復制到與腳本文件相同的目錄中,那么它將起作用。 我不知道為什么。
編輯:我已經在控制台中測試了較早的代碼,並且可以正常工作。 但是,我再次修改了代碼。 我將bsddb
模塊直接保留在D drive
,並將代碼再次更改為:
import os
os.chdir("D:\\")
import importlib
m = importlib.import_module("bsddb.db")
print len(dir(m))
print dir(m)
結果為319
,模塊list of functions and variables
。 似乎您可能需要使用上述的dot (.) notation
導入模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.