python全栈开发补充包的补充
Posted 呆萌小河马的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python全栈开发补充包的补充相关的知识,希望对你有一定的参考价值。
1.包A和包B下有同名模块也不会冲突,因为A.a与B.a来自俩个命名空间
2.常见目录结构
# 创建目录代码 import os os.makedirs(\'glance/api\') os.makedirs(\'glance/cmd\') os.makedirs(\'glance/db\') l = [] l.append(open(\'glance/__init__.py\',\'w\')) l.append(open(\'glance/api/__init__.py\',\'w\')) l.append(open(\'glance/api/policy.py\',\'w\')) l.append(open(\'glance/api/versions.py\',\'w\')) l.append(open(\'glance/cmd/__init__.py\',\'w\')) l.append(open(\'glance/cmd/manage.py\',\'w\')) l.append(open(\'glance/db/models.py\',\'w\')) map(lambda f:f.close() ,l)
3.目录结构
glance/ #Top-level package ├── __init__.py #Initialize the glance package ├── api #Subpackage for api │ ├── __init__.py │ ├── policy.py │ └── versions.py ├── cmd #Subpackage for cmd │ ├── __init__.py │ └── manage.py └── db #Subpackage for db ├── __init__.py └── models.py
4.文件内容
#文件内容 #policy.py def get(): print(\'from policy.py\') #versions.py def create_resource(conf): print(\'from version.py: \',conf) #manage.py def main(): print(\'from manage.py\') #models.py def register_models(engine): print(\'from models.py: \',engine)
5.软件开发规范
6.绝对导入
glance/ ├── __init__.py from glance import api from glance import cmd from glance import db ├── api │ ├── __init__.py from glance.api import policy from glance.api import versions │ ├── policy.py │ └── versions.py ├── cmd from glance.cmd import manage │ ├── __init__.py │ └── manage.py └── db from glance.db import models ├── __init__.py └── models.py
7.相对导入
glance/ ├── __init__.py from . import api #.表示当前目录 from . import cmd from . import db ├── api │ ├── __init__.py from . import policy from . import versions │ ├── policy.py │ └── versions.py ├── cmd from . import manage │ ├── __init__.py │ └── manage.py from ..api import policy #..表示上一级目录,想再manage中使用policy中的方法就需要回到上一级glance目录往下找api包,从api导入policy └── db from . import models ├── __init__.py └── models.py
8.import glance 之后直接调用模块中的方法
glance/ ├── __init__.py from .api import * from .cmd import * from .db import * ├── api │ ├── __init__.py __all__ = [\'policy\',\'versions\'] │ ├── policy.py │ └── versions.py ├── cmd __all__ = [\'manage\'] │ ├── __init__.py │ └── manage.py └── db __all__ = [\'models\'] ├── __init__.py └── models.py import glance policy.get() import glance
以上是关于python全栈开发补充包的补充的主要内容,如果未能解决你的问题,请参考以下文章