码迷,mamicode.com
首页 > 其他好文 > 详细

包的导入

时间:2018-09-08 16:01:29      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:def   一个   pre   pack   nbsp   生成文件   就是   ons   print   

一、什么是包?   package

  1、含有一个__init__.py的文件就是一个包

  2、包中通常含有一些py文件

二、从包中导入模块 ****

  方法一: import

import glance2.api.policy
glance2.api.policy.get()
import glance2.api.policy as policy   # 以文件名取别名
policy.get()

方法二:from import

from glance2.api import policy
policy.get()



from glance2.api.policy import get
get()

三、包的导入

生成文件夹

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)

生成这个包之后,如何把这个包导入到文件中呢?

1、在这个包的同级目录中的__init__.py中去配置    # from glance2 import api

2、在这个包中api的__init__.py中去配置     # from glance2.api import policy

3、再这个policy 中写入 get()函数

4、在这个需要导入包的文件中执行这个包

 

3.2  相对导入:     运用了相对导入的文件不能被直接执行 ,缺点就是不能在当前文档中执行,只能作为一个模块被调用执行

# ‘.’表示当前目录 

from .import api

# ‘..’表示上一级目录

from ..cmd import manage

def get():
    print(777)
manage.main()

* 与 __all__

from .api import *   # 上级目录的__init__

__all__ = [policy,versions]  # 在api 的__init__里面写

 

                                                                                                                                                   

 

包的导入

标签:def   一个   pre   pack   nbsp   生成文件   就是   ons   print   

原文地址:https://www.cnblogs.com/youhongliang/p/9609376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!