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 apifrom glance import cmdfrom glance import db├── api                  │   ├── __init__.py  from glance.api import policyfrom 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 cmdfrom . import db├── api                  │   ├── __init__.py  from . import policyfrom . 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.pyimport glance
policy.get()import glance

 

转载于:https://www.cnblogs.com/xiaohema/p/8453621.html

python全栈开发基础【补充】包的补充相关推荐

  1. python全栈开发百度云_老男孩2020最新Python全栈开发基础班+就业班

    |- 数据结构+算法.rar - 485.30 MB |- 串讲.rar - 2.01 GB |- 补充资料.rar - 536.00 MB |- MongoDB.rar - 110.10 MB |- ...

  2. python全栈开发基础学习过程笔记【18d】os模块

    os模块调用操作系统,对文件和文件夹进行操作 1.头文件 impoet os 2os.getcwd() 作用:当前脚本工作的目录路径 print(os.getcwd()) 输出: ========== ...

  3. python全栈开发基础【第十七篇】面向对象反射和内置方法

    一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被 ...

  4. python全栈开发基础【第二十三篇】线程

    一.什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才 ...

  5. Python 全栈开发基础

    python面向对象 python异常处理 python网络编程 python并发编程 临时目录 转载于:https://www.cnblogs.com/fixdq/p/8883304.html

  6. Python全栈开发【基础-09】深浅拷贝+while循环

    专栏介绍: 本专栏为Python全栈开发系列文章,技术包括Python基础.函数.文件.面向对象.网络编程.并发编程.MySQL数据库.HTML.JavaScript.CSS.JQuery.boots ...

  7. python 全栈开发,Day32(知识回顾,网络编程基础)

    python 全栈开发,Day32(知识回顾,网络编程基础) 一.知识回顾 正则模块 正则表达式 元字符 :. 匹配除了回车以外的所有字符\w 数字字母下划线\d 数字\n \s \t 回车 空格 和 ...

  8. python全栈开发中级班全程笔记(第三模块、第一章(1.面向对象基础))

    python全栈开发笔记第三模块           第一部分 第一章 :面向对象(类) 一.面向过程编程1.面向过程编程:主要是过程二字,所谓过程,就是指解决问题的步骤,也可以说是设计一套流水线(机 ...

  9. 路飞学城python全栈开发_[Python] 老男孩路飞学城Python全栈开发重点班 骑士计划最新100G...

    简介 老男孩&路飞学城Python全栈开发重点班课程,作为Python全栈教学系列的重头戏,投入了全新的课程研发和教学精力,也是Python骑士计划的核心教学,由ALEX老师开班镇守,一线技术 ...

最新文章

  1. C语言写一函数交换两变量的值
  2. 版本控制工具 svn 一
  3. 【C语言】控制台窗口图形界面编程(三)窗口相关设置
  4. 不需要密码的windows计划任务设置
  5. 网络布线工程师科普铜缆光纤损耗那点事!
  6. mysql5.7 新建远程用户_Centos7中 mysql5.7 用户 创建 、授权、远程登录
  7. mysql 人名用什么类型_如何选择合适的MySQL数据类型
  8. 奖品兑现 – 我家没有好茶饭,只有《编程之美》送亲人
  9. python怎么用字符画_用Python把图片变成字符画
  10. hadoop在ubuntu上的安装流程
  11. 顶尖数据恢复软件免费中文版
  12. 调查问卷或量表数据的一般处理与SPSS统计分析
  13. [ERP/鼎捷E10][存货管理]存货周转率/库存周转率
  14. 目标检测从两阶段R-CNN系列到单阶段YOLO系列精炼
  15. 如何搭建OpenOCD环境基于Window10+Cygwin?
  16. 考研部分概念和流程(若不全和错误可提示我补充,另考研帮app推荐)
  17. Java并发包-java.util.concurrent详解
  18. 大数据时代下的贝叶斯公式
  19. 智慧停车在智慧城市建设中的发展现状与前景
  20. dw如何设置html图片大小,Dreamweaver如何设置图像属性?DW设置图像属性方法介绍

热门文章

  1. SQL 用一个表的数据更新另一张表
  2. SpringBoot2.1版本的个人应用开发框架 - 集成Druid + MybatisPlus
  3. Windows Mobile 系列文章索引---不断整理中(2009-07-08)
  4. Lua-Nginx-Module常用指令(下)
  5. Shell脚本编程基础笔记一
  6. Unterminated lt;c:forEach tag
  7. 域本地组,全局组,通用组的应用
  8. 数据绑定,vs2005
  9. python中包含的标准数据类型_Python数据类型基础
  10. vs不识别0b二进制格式_数据背后的二进制