zoukankan      html  css  js  c++  java
  • 包的补充

    1.包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间

    2.常见目录结构

      1 import os
      2 os.makedirs('glance/api')
      3 os.makedirs('glance/cmd')
      4 os.makedirs('glance/db')
      5 l = []
      6 l.append(open('glance/__init__.py','w'))
      7 l.append(open('glance/api/__init__.py','w'))
      8 l.append(open('glance/api/policy.py','w'))
      9 l.append(open('glance/api/versions.py','w'))
     10 l.append(open('glance/cmd/__init__.py','w'))
     11 l.append(open('glance/cmd/manage.py','w'))
     12 l.append(open('glance/db/models.py','w'))
     13 map(lambda f:f.close() ,l)
     14 
     15 创建目录代码
     16 
     17 创建目录结构
    View Code

     

    3.目录结构

      1 glance/                   #Top-level package
      2 
      3 ├── __init__.py      #Initialize the glance package
      4 
      5 ├── api                  #Subpackage for api
      6 
      7 │   ├── __init__.py
      8 
      9 │   ├── policy.py
     10 
     11 │   └── versions.py
     12 
     13 ├── cmd                #Subpackage for cmd
     14 
     15 │   ├── __init__.py
     16 
     17 │   └── manage.py
     18 
     19 └── db                  #Subpackage for db
     20 
     21     ├── __init__.py
     22 
     23     └── models.py
     24 
     25 目录结构
     26 
     27 目录结构
    View Code

     

    4.文件内容

    5.软件开发规范

     

    6.绝对导入

      1 glance/
      2 
      3 ├── __init__.py      from glance import api
      4                              from glance import cmd
      5                              from glance import db
      6 
      7 ├── api
      8 
      9 │   ├── __init__.py  from glance.api import policy
     10                               from glance.api import versions
     11 
     12 │   ├── policy.py
     13 
     14 │   └── versions.py
     15 
     16 ├── cmd                 from glance.cmd import manage
     17 
     18 │   ├── __init__.py
     19 
     20 │   └── manage.py
     21 
     22 └── db                   from glance.db import models
     23 
     24     ├── __init__.py
     25 
     26     └── models.py
     27 
     28 绝对导入
     29 
     30 绝对导入
    View Code

    7.相对导入

      1 glance/
      2 
      3 ├── __init__.py      from . import api  #.表示当前目录
      4                      from . import cmd
      5                      from . import db
      6 
      7 ├── api
      8 
      9 │   ├── __init__.py  from . import policy
     10                      from . import versions
     11 
     12 │   ├── policy.py
     13 
     14 │   └── versions.py
     15 
     16 ├── cmd              from . import manage
     17 
     18 │   ├── __init__.py
     19 
     20 │   └── manage.py    from ..api import policy
     21                      #..表示上一级目录,想再manage中使用policy中的方法就需要回到上一级glance目录往下找api包,从api导入policy
     22 
     23 └── db               from . import models
     24 
     25     ├── __init__.py
     26 
     27     └── models.py
     28 
     29 相对导入
     30 
     31 相对导入
    View Code

     

    8.import  glance 之后直接调用模块中的方法

      1 glance/
      2 
      3 ├── __init__.py     from .api import *
      4                     from .cmd import *
      5                     from .db import *
      6 ├── api
      7 
      8 │   ├── __init__.py   __all__ = ['policy','versions']
      9 
     10 │   ├── policy.py
     11 
     12 │   └── versions.py
     13 
     14 ├── cmd               __all__ = ['manage']
     15 
     16 │   ├── __init__.py
     17 
     18 │   └── manage.py
     19 
     20 └── db                __all__ = ['models']
     21 
     22     ├── __init__.py
     23 
     24     └── models.py
     25 
     26 
     27 import glance
     28 policy.get()
     29 
     30 import glance
    View Code

     

     

     

    归类:Python相关

  • 相关阅读:
    VSPackge插件系列:常用IDE功能的封装
    C#如何加载程序运行目录外的程序集
    MSBuild编译扩展
    VSPackge插件系列:如何正确获取DTE
    VSPackge插件系列:简单文本编辑器的实现
    一步步实现自己的框架系列(四):页面与页面服务的创建
    DW 图片不显示的情况 ———网页只显示字不显示图片的情况 目录下的图片名被改动不显示图片的情况
    数据库--增、删、改、查(笛卡尔积)
    C#结构体
    C# 3循环 for语句
  • 原文地址:https://www.cnblogs.com/lz1996/p/11566702.html
Copyright © 2011-2022 走看看