我正在创建一个包含多个图像处理块的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
....
这使我能够非常容易地启用这些模块,例如:
^{pr2}$拥有这么多init.py会给我的项目留下太多的文件。
是否可以有:
(1) 我的代码的这样一个文件夹结构
(2) 如上所述导入模块的能力
上面的每一级都没有那么多的初始化py?在
我为什么要这个?
-以减少在git存储库中看到这么多文件的认知负担。在
任何带有
__init__.py
文件的目录都被视为Python包。包中的不同模块以与普通模块类似的方式导入,但对__init__.py
文件有特殊的行为,该文件用于收集所有包范围的定义。在目录
root/
中的a.py
与语句import root.a
一起导入。此语句将在根目录中查找__init__.py
文件,执行其所有顶层语句。然后,它将查找名为root/a.py的文件并执行其所有顶层语句。在这些操作之后,在a.py中定义的任何变量、函数或类都可以在root.a命名空间中使用。在有一种方便的语法可用于导入深度嵌套的包:
import very.deep.module
例如。这允许您使用示例来代替very.deep.module
的冗长重复。在相关问题 更多 >
编程相关推荐