我想要动态导入几个模块。模块名为prefix_?哪里? = [0,1,2,3]。我使用glob来获取文件/模块的列表。
module = glob.glob(prefix_?.py)
module.sort()
现在我想一次导入一个模块并运行一些代码。
for m in range(0,len(module),1):
from module[m] import x, y, z
但是我不能这样做因为module是一个字符串列表。有没有办法将格式从字符串转换为我可以导入的实际模块?
答案 0 :(得分:2)
my_module = __import__("some_file") #note you leave off the .py
x = my_module.x
y = my_module.y
....
我认为无论如何
答案 1 :(得分:2)
您可以使用importlib
模块:
import glob
import importlib
module = glob.glob(prefix_?.py)
module.sort()
for m in module: #iterate over list itself, why range?
mod = importlib.import_module(m[:-3]) #strip off .py