繁体   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