python包的补充
1.包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间
2.常见目录结构
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 创建目录代码 3.目录结构
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 目录结构 4.文件内容
5.软件开发规范
6.绝对导入
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 绝对导入 7.相对导入
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 相对导入 8.import glance 之后直接调用模块中的方法
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
python包的补充的更多相关文章
- 离线pip下载Python包
离线pip下载Python包 这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows xp# python 2 ...
- python 包和模块
一. 模块 使用内置函数vars()可以查看当前环境下有哪些对象(变量.函数.类) from 模块 import *: 不会导入以下划线开头的对象 只会导入__all__中定义了的对象(__all__ ...
- python包管理工具他们之间的关系
python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- RobotFramework中加载自定义python包中的library(一个py文件中有多个类)
结构如下: appsdk\ appsdk.py(这里面有多个类,包括appsdk,appsdksync等类) __init__.py ... ① 有个appsdk的文件夹(符合python包的定义) ...
- centos 7 下安装numpy、scipy等python包
本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...
- python 包管理工具
python 包管理工具 Python当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils,显得较为混乱. 而将来的工具链组合 ...
- Python 包管理工具解惑
Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到 ...
- Python 包的相对导入讲解
[Python 包的相对导入讲解] 参考:http://www.dai3.com/python-import.html
随机推荐
- asp.net 关于SessionId
原文:https://www.cnblogs.com/zhang1999/p/7278020.html 登陆页面使用Session存储验证码,导致会话产生SessionId,从而导致会话固定,登陆后用 ...
- C#设计模式:享元模式(Flyweight Pattern)
一,什么是享元模式? 享元模式(Flyweight Pattern):采用共享技术来避免大量拥有相同内容对象的开销,主要用于减少创建对象的数量,以减少内存占用和提高性能 1,根本的思路就是对象的重用2 ...
- 20191202IIS
IIS和.netfw4.0安装顺序是从前到后,如果不小心颠倒了,无所谓. 打开程序-运行-cmd:输入一下命令重新注册IIS C:\WINDOWS\Microsoft.NET\Framework\v4 ...
- Latex--入门系列一
Latex 专业的参考 tex对于论文写作或者其他的一些需要排版的写作来说,还是非常有意义的.我在网上看到这个对于Latex的入门介绍还是比较全面的,Arbitrary reference .所以将会 ...
- js中的函数声明置顶
函数声明置顶是指 js引擎在读取变量与声明式函数时,会优先读取,例如如下 var a = 1: function a(){}; console.log(a); //这里得到的为1,而不是该functi ...
- 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统
Linux安装 参照官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/inst ...
- [译]理解 SwiftUI 里的属性装饰器@State, @Binding, @ObservedObject, @EnvironmentObject
原文地址:https://mecid.github.io/2019/06/12/understanding-property-wrappers-in-swiftui/ @States 通过使用 @St ...
- iis8.5部署net项目
服务器上运行提示: iis版本: 使用命令行运行cmd(管理员模式) 输入: %windir%\system32\inetsrv\appcmd unlock config -section:syste ...
- ffmpeg知多少~~~
一.ffmpeg安装: https://jingyan.baidu.com/article/f7ff0bfcd64cea2e26bb1334.html 二.ffmpeg视频处理(包括各种视频流处理 ...
- spring data jpa和spring data redis同时配置时,出现Multiple Spring Data modules found, entering strict repository configuration mode错误
问题说明 data jpa和data redis同时配置时,出现Spring modules spring Spring Data Release Train <dependencyManage ...