在下面提到的目录结构中,我正在尝试为测试模块构建一个python平台。代码位于python路径中包含的目录/ opt / site中。
在/ opt / site目录中,我还有一个__init__
文件,另一个文件是suite.py以及目录dir1,dir2
在dir1,dir2目录中我有以下文件__init__
和execute.py
我的问题是如何在suite.py上提供代码,如果我在suite.py中提到dir1,则应执行dir1 / execute.py,如果提到dir2,则应执行dir2 / execute.py或两者都执行然后提到dir1 / execute.py和dir2 / execute.py应该执行
如何从suite.py
调用dir1 / execute.py中的特定函数任何人都可以告诉我如何实现这个目标
答案 0 :(得分:0)
我假设您的目录结构如下:
-+- dir1
| |
| +- execute.py
|
+- dir2
| |
| +- execute.py
|
+- __init__.py
|
+- suite.py
如果我的假设是正确的并且您的目录结构与上面提到的相匹配,那么您可以在__init__.py
和dir1
目录中放置空dir2
个文件,然后在{{1}内执行你想要的文件:
suite.py
这将导入两个from dir1 import execute as execute1
from dir2 import execute as execute2
个文件,这意味着它们将被执行。要再次执行已导入的模块,只需在表示模块的变量上使用execute.py
(例如reload()
)。
将reload(execute1)
放在__init__.py
和dir1
目录中所做的是,您告知Python dir2
和dir1
都应被视为模块。因为它们是模块,所以您只需导入它们的子模块(最初都命名为dir2
,因此我以更加明显的方式命名它们。)
有帮助吗?