我有一个文件列表,使用python from filename import *
中的命令,适用于单个文件,因为我给出了文件的确切名称,但是如果我想将它用作from list[i] import *
来迭代一个列表并一个接一个地从文件导入函数来处理它,它不起作用?我应该做些什么改变才能将它用于文件列表,以便我可以轻松迭代?
答案 0 :(得分:3)
使用importlib:
from importlib import import_module
module_list = [import_module("test.mod{}".format(i)) for i in range(20)]
# OR
module_list = []
for i in range(20):
module_list.append(import_module("test.mod{}".format(i)))
正如documentation所述,不要使用__import__
等内部内容。
答案 1 :(得分:1)
如果您正在寻找动态导入,那么您正在寻找__import__
功能。
for modl in ('foo', 'bar', 'baz', 'bat',):
__import__('parent.' + modl)