如何在Python中动态导入?

我是
Python的新手,任何人都可以让我知道如何在python脚本中执行以下两个导入,然后是另一行,而我在每个循环中都会变更?

(以下三行位于“for”循环中,其计数器为“i”)

import Test_include_i
from Test_include_i import*
model = Test_include_i.aDefinedFunction

非常感谢你 :)

最佳答案 这不是一个好主意,但这是它的实现:

from importlib import import_module # Awesome line! :)

for i in range(1000):
    test_include = import_module("Test_include_%s" % i)
    model = test_include.aDefinedFunction

关于提供的方法之间的差异:

> __import__是从bla import blubb和import bla语句处理的低级接口.它的直接用途是根据现在不鼓励的文件.
> importlib.import_module是__import__的便捷包装器,是首选.导入的模块将记录在sys.modules中,因此将被缓存.如果您在会话期间更改了代码并想要使用新版本,则必须使用imp.reload显式重新加载它.
> imp.load_module更接近内部,并将始终为您加载模块的最新版本,即如果已加载,则load_module等效于模块上的imp.reload调用.但是要使用此函数,您必须提供所有4个参数,这些参数基本上是imp.find_module返回的参数.

点赞