Rin*_*ita 4 python python-import
我正在处理一个需要多个同名模块的项目。这是架构的代表性摘录,其中包含__init__.py显示哪些文件夹是模块的文件:
/path1
/ProjectA
__init__.py
/src
__init__.py
/ctrl
__init__.py
somectrl.py
...
/path2
/ProjectA
__init__.py
/src
__init__.py
someclass.py
Run Code Online (Sandbox Code Playgroud)
在我的课堂上someclass.py,我想像这样导入somectrl.py:
from ProjectA.src.ctrl import somectrl
Run Code Online (Sandbox Code Playgroud)
但是导入失败:它告诉我没有ctrl包。似乎它只是查看ProjectAfrom path2,而完全忽略ProjectAfrom path1!双方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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |