簡體   English   中英

無法使用importlib.import_module導入模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM