我的 python 应用程序有一个这样的文件夹结构:

my_repo/
  src/
    main.py
    util/   <-- util is a git submodule
      src/
        torgle.py
      test/
        test_torgle.py
  test/
    test_main.py

main.py 里面,我可以像这样在我的 util 子模块中导入东西:
from util.src.torgle import Torgler

但是 src/ 只是在我的 git 子模块 repo 中保持组织有序的一种方式,并且不应该真正成为主 repo 中包名称的逻辑部分。有什么方法可以跳过模块导入的 src 部分吗?我宁愿这样做:
from util.torgle import Torgler

IE。本质上,我可以将 util/src 文件夹别名为 Python util 包吗?

(请注意,在我的实际情况中,我有更深的嵌套包( util.x.y.z.torgle ),因此 from util import torgle; torgle.Torgler(...) 无法很好地扩展。我对 from util.torgle import Torgler 尤其感兴趣。)

最佳答案

您可以通过添加 my_repo/src/util/__init__.py 并向其添加以下行来完成此操作:

from .src import torgle

然后,您将能够执行以下操作:
from util import torgle
torgle.Torgler(...)

关于python - 如何跳过 Python 导入中的中间文件夹?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60939455/

10-12 21:55