- 此问题在此处已有答案**:
How can I import a module dynamically given its name as string?(10个答案)
17小时前关门了。
我有一些代码:
data_files = [x[2] for x in os.walk(os.path.dirname(sys.argv[0]))]
hello = data_files[0]
modulename = hello[0].split(".")[0]
import modulename
目标是从目录中获取一个字符串形式的文件名,将其传递给其他代码,然后导入模块 *,其名称存储在变量name * 中。
但是,在我的代码尝试中,import modulename
中的modulename
被视为要导入的模块的名称,而不是存储在该变量中的字符串。
我怎样才能得到我想要的效果呢?
2条答案
按热度按时间czq61nw11#
您需要内置的
__import__
函数uubf1zoe2#
importlib可能是一个不错的选择。它的文档是here。在大多数情况下,它通常比
__import__
更受欢迎。在您的情况下,可以用途: