动态导入.py模块

时间:2018-12-21 13:27:51

标签: python python-3.x

我的main.py需要使用a.pyb.pyc.py等中的函数,依此类推,所有这些.py都具有称为i的函数samefunctionname()已实现。

main.py中,我要执行ifelifelifelif ....,else语句并决定我要从哪个*.py import samefunctionname()

main.py应该是静态的,但是很容易添加文件zz.py并能够从main调用其功能。

我希望它可以理解:)

现在是伪代码

lines=readfile()
for line in lines:
    //import line[0].py
    call line[0].samefunction
    //deimport line[0].py

1 个答案:

答案 0 :(得分:0)

您可以使用importlib.import_module从字符串(Python 3.4或更高版本)中导入内容:

import importlib

module = importlib.import_module("os")

print(repr(module))
# <module 'os' from '/usr/lib/python3.6/os.py'>

然后您可以调用所需的函数:

module.chdir(".")  # same as os.chdir(".")