- Secret Recipes of the Python Ninja
- Cody Jackson
- 162字
- 2021-06-25 22:14:43
How to do it...
- When making a package, follow the normal filesystem hierarchy in terms of directory structure; that is, modules that relate to each other should be placed in their own directory.
- A possible package for a video file handler is shown in package_tree.py:
video/ # Top-level package
__init__.py # Top-level initialization
formats/ # Sub-package for file formats
__init__.py # Package-level initialization
avi_in.py
avi_out.py
mpg2_in.py
mpg2_out.py
webm_in.py
webm_out.py
effects/ # Sub-package for video effects
specialFX/ # Sub-package for special effects
__init__.py
sepia.py
mosaic.py
old_movie.py
glass.py
pencil.py
tv.py
transform/ # Sub-package for transform effects
__init__.py
flip.py
skew.py
rotate.py
mirror.py
wave.py
broken_glass.py
draw/ # Sub-package for draw effects
__init__.py
rectangle.py
ellipse.py
border.py
line.py
polygon.py
- But, what happens if you were already in the specialFX/ directory and wanted to import from another package? Use relative paths to walk the directory and import using dots, just like changing directories on the command-line:
from . import mosaic from .. import transform from .. draw import rectangle
推薦閱讀
- 從零開始構建企業級RAG系統
- AngularJS入門與進階
- INSTANT FreeMarker Starter
- 構建移動網站與APP:HTML 5移動開發入門與實戰(跨平臺移動開發叢書)
- 精通搜索分析
- Instant 960 Grid System
- Learning AWS Lumberyard Game Development
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- Web全棧工程師的自我修養
- C++ 從入門到項目實踐(超值版)
- Scala編程實戰(原書第2版)
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- OpenCV with Python By Example
- Arduino可穿戴設備開發
- Instant Automapper