[英]Python : importing different module with same name
我正在开发一个项目,需要有几个同名的模块。 这是体系结构的代表性摘录,使用__init__.py
文件显示哪些文件夹是模块:
/path1
/ProjectA
__init__.py
/src
__init__.py
/ctrl
__init__.py
somectrl.py
...
/path2
/ProjectA
__init__.py
/src
__init__.py
someclass.py
在我的班级someclass.py
,我想导入somectrl.py
如下所示:
from ProjectA.src.ctrl import somectrl
但导入失败:它告诉我没有ctrl
包。 看起来它只是从path2
查看ProjectA
,并完全忽略来自path1
ProjectA
! path1
和path2
都在我的PYTHONPATH
。 那他们俩都不能到达?
在这种令人讨厌的情况下,有一条干净的方法吗?
一种方法是使用imp模块。
import imp
somectrl = imp.load_source("somectrl", "path1/ProjectA/src/ctrl/somectrl.py")
someclass = imp.load_source("someclass", "path2/ProjectA/src/someclass.py")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.