标签:空间 大小 解决 内容 文件夹 导入 import ini 层次结构
前面简单写了一些关于模块与包的知识,最近马上要写搬砖脚本,里面大小的模块与包应该用到不少。系统的学一遍准备。
10.1把模块按层次结构组成包
问题:
我们想把代码按照一定的层次结构组成包
解决方案:
创建一个包很简单,只要文件夹里面有__init__.py就可以了。创建有层次的包只要每个目录都定义了__init__.py就可以了。
└── graphics ├── __init__.py ├── formats │ ├── __init__.py │ ├── jpg.py │ └── pny.py └── primitive ├── __init__.py ├── fill.py ├── line.py └── text.py
讨论:
上面的这样的文件结构,当一个脚本写下import graphics,文件graphics/__init__.py会被导入并形成graphics命名空间的内容。(翻译的很难理解)。
当执行import graphics.formats.jpg 文件graphics/__init__.py和文件graphics/formats/__init__.py都会在导入文件graphics.formats.jpg之前优先导入
你可以理解在导入文件之前的包文件内的__init__都会优先被导入,前提是后面不能有as 语句
大多数情况下__init__.py文件留空就可以了。但是在某些特定的情况下__init__.py需要含有代码。
比如可以用__init__.py来自动加载子模块
# graphics/formats/__init__.py文件里面写这个
from . import jpg
from . import pny
实际测试了使用了,效果很一般。
标签:空间 大小 解决 内容 文件夹 导入 import ini 层次结构
原文地址:https://www.cnblogs.com/sidianok/p/12508260.html