【发布时间】:2016-07-16 11:56:49
【问题描述】:
我想使用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 文件复制到与脚本文件相同的目录中,它就可以工作。我不知道为什么。
【问题讨论】:
-
您能展示一下您的文件夹结构吗? db 是 python 文件还是文件夹?请提供更多详细信息。
-
@SarvagyaPant 嗨 Sarvagya,我尝试加载的模块位于 Python 标准库中。
标签: python import module python-importlib