我有一个文件列表,我想迭代并从这些文件中导入函数,以便逐个处理它们,python

时间:2016-09-04 20:46:09

标签: python file file-handling

我有一个文件列表,使用python from filename import *中的命令,适用于单个文件,因为我给出了文件的确切名称,但是如果我想将它用作from list[i] import *来迭代一个列表并一个接一个地从文件导入函数来处理它,它不起作用?我应该做些什么改变才能将它用于文件列表,以便我可以轻松迭代?

2 个答案:

答案 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)