有没有一种方法可以避免在模块化程度很高的python库中使用太多的_init__uuuuuuuy.py?

有没有一种方法可以避免在模块化程度很高的python库中使用太多的_init__uuuuuuuy.py?,python,Python,我正在创建一个包含多个图像处理块的Python项目,其中包含多级文件夹,如下所示: folder1 __init__.py somecode1.py folder11 __init__.py somecode11.py folder111 __init__.py somecode111.py folder12 __init__.py somecode12.py ....... folder2 __i

我正在创建一个包含多个图像处理块的Python项目,其中包含多级文件夹,如下所示:

folder1
  __init__.py
  somecode1.py

  folder11
    __init__.py
    somecode11.py

    folder111
      __init__.py
      somecode111.py

  folder12
    __init__.py
    somecode12.py

  .......

folder2
  __init__.py
  somecode2.py
  ....
from folder1.somecode1 import XYZ1
from folder1.folder11.somecode11 import XYZ11
from folder1.folder11.folder111.somecode111 import XYZ111
这使我能够非常轻松地启用这些模块,例如:

folder1
  __init__.py
  somecode1.py

  folder11
    __init__.py
    somecode11.py

    folder111
      __init__.py
      somecode111.py

  folder12
    __init__.py
    somecode12.py

  .......

folder2
  __init__.py
  somecode2.py
  ....
from folder1.somecode1 import XYZ1
from folder1.folder11.somecode11 import XYZ11
from folder1.folder11.folder111.somecode111 import XYZ111
拥有如此多的init.py会使我的项目中的文件过多。
是否可能有:
(1) 这样的文件夹结构适合我的代码
(2) 如上所述导入模块的能力

上面没有的每个级别都有这么多的\uuuu init\uuuu.py

我为什么要这个?

-减少在我的git存储库中看到这么多文件的认知负担。

任何包含
\uuuu init\uuuuuuuuupy
文件的目录都被视为Python包。包中的不同模块以与普通模块类似的方式导入,但对用于收集所有包范围定义的
\uuu init\uuu.py
文件具有特殊行为

目录
root/
中的
A.py
与语句
import root.A
一起导入。此语句将在根目录中查找
\uuuu init\uuu.py
文件,执行其所有顶级语句。接下来,它将查找名为root/a.py的文件并执行其所有顶级语句。在这些操作之后,a.py中定义的任何变量、函数或类都可以在root.a命名空间中使用


有一种方便的语法可用于导入深度嵌套的包:
import very.deep.module
。这允许您使用示例来代替冗长重复的
very.deep.module

是什么导致文件数量“太多”?现代计算机可以毫无问题地处理数十亿个文件。我看到的git repo文件太多了。如果没有这么多init.py,我会觉得git回购看起来更干净。是的,现代计算机在处理数十亿个文件时不会有任何问题。“太多”文件造成的实际问题是什么
git
也不会有任何问题。你真的需要所有这些级别的嵌套吗?你认为他们给你的图书馆增加了什么可用性吗?名称空间的设计是为了避免名称冲突,而不是在层次结构的叶节点中仅使用两个标识符来发明无限深的任意分类法;这是关于C++的,但是概念是一样的,不太确定这个问题是怎么回答的?