我写了一个包P.在P的根处有一个模块m0.在P内部的某个地方有m1,m2,......模块需要从m0导入
当然,我可以在每个模块中编写:
from P.m0 import ...
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改PI的名称必须重新访问所有位置并重写此类语句.
我也可以使用相对导入但是如果我在包层次结构中移动一个不同级别的模块,我必须修复点数.
还有一些其他原因,但是底线,我真的想说从我的包的根目录中的模块m0导入,表达这个的最佳方式是什么?
那是不可能的。
但是,如果您执行重大重构,在子包之间移动模块,则必须更新一些相对导入并不是一个大问题。
如果您不使用相对导入,这同样适用于重命名顶级包名称 - 甚至可以通过对所有文件进行搜索和替换来非常快速地完成此操作。
| 归档时间: |
|
| 查看次数: |
3585 次 |
| 最近记录: |