通过动态导入动态调用不同的Python文件



我有一个类似的文件夹结构

Current Folder > DC > F > 

Current包含一个我将执行的a.py文件,它是我的主py文件。

F文件夹将有许多*.py文件,这些文件都有一个类及其构造函数

DC文件夹将有几个*.py文件,而F中的*.py文件正在使用

我正在导入一个xml文件,该文件是从主a.py文件中读取的,格式如下。

<Test>DCFTestCase1</Test>
<Test>DCFTestCase2</Test>

我有我的主要A.py,它做这个

if (line.startswith("<Test>")):
result = re.search('<Test>(.*)</Test>', line)
filename = result.group(1).split('\')[-1]
eval(filename)(self.getWebDriver())

而且效果很好。但问题是,它期待着这个

from DC.F.TestCase1 import TestCase1
from DC.F.TestCase2 import TestCase2

如何去掉这些导入语句,使A.py可以独立于进一步的编辑,并完全由输入文件运行?

您尝试过使用impportlibpython模块吗?试试看,这可能就是你想要的。

编辑:特别是importlib.import_module()函数。

文件在这里

最新更新