Python--day21--包
包:
包是一种通过使用‘.模块名’来组织python模块名称空间的方式。
1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法
2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就是一个包含__init__.py文件的目录)
3. import导入文件时,产生名称空间中的名字来源于文件,import 包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件
强调:
1. 在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错
2. 创建包的目的不是为了运行,而是被导入使用,记住,包只是模块的一种形式而已,包即模块
包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间
创建目录代码:
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)
目录结构:
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
文件内容:
#文件内容#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)
代码运行:
2.1注意事项:
2.2import
2.3 from...import...
转载于:https://www.cnblogs.com/xudj/p/9845428.html
Python--day21--包相关推荐
- python pycharm 包 安装问题
20211006 https://blog.csdn.net/anshuai_aw1/article/details/83749395 windows pyfm安装 20210930 在pycharm ...
- TensorFlow常用Python扩展包
TensorFlow常用Python扩展包 TensorFlow 能够实现大部分神经网络的功能.但是,这还是不够的.对于预处理任务.序列化甚至绘图任务,还需要更多的 Python 包. 下面列出了一些 ...
- python基础:python扩展包的安装方式
python扩展包有三种安装方式: 1. pip安装方式.python3默认自带pip,无需另外安装:在python2.7版本上默认为easy_install安装工作进行安装,如果需要使用pip安装, ...
- python自定义包或模块在Linux服务器导入错误的解决办法
python自定义包或模块在Linux服务器导入错误的解决办法 在本地机器上跑python代码,自己定义的文件进行导包运行是没有问题,但是放到linux服务器上的时候就会提示 ImportError: ...
- python pytorch 包的安装
python pytorch 包的安装 打开官网:https://pytorch.org/ https://pytorch.org/get-started/locally/
- python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!
最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...
- 如何编写Python模块/包?
本文翻译自:How to write a Python module/package? I've been making Python scripts for simple tasks at work ...
- windows下python依赖包_windows下安装python拓展包
安装Python集成开发环境IDE 2.IPython:方便今后编译其他扩展库,占用空间92.8M: sudo apt-get install python-dev IPython 为了安装最新版的I ...
- python怎么安装第三方库-vs2017怎么安装python第三方包
vs2017有独立的python环境:所以想在vs2017开发python并使用第三方包,需要在vs2017中操作,完成第三方包的安装. 一,查看vs2017有哪些版本的python,当前使用的是哪个 ...
- python怎么导入包-如何理解Python中包的引入
Python的from import *和from import *,它们的功能都是将包引入使用,但是它们是怎么执行的以及为什么使用这种语法呢? 从一模块导入全部功能 from import * me ...
最新文章
- 基于图的异常检测(三):GraphRAD
- 加载模型预测时出现Dst tensor is not initialized.
- HDU 6030 Happy Necklace
- [Spark]PySpark入门学习教程---RDD介绍(2)
- (组合数学笔记)Pólya计数理论_Part.1_群的基本概念
- Maven Oracle JDBC
- [转载] python猜字谜游戏_Python Hangman猜字游戏
- 《深入浅出通信原理》读书笔记系列1-第2章 信号与频谱
- 美团架构师探秘Java生态系统,介绍JDK、JVM、JEP
- springboot高校学生健康打卡系统的设计与实现毕业设计源码021009
- Android基础:ViewPage2
- html 外联 变 内联,Html 内联元素、外联元素 和 可变元素
- 欢迎加入知识星球 [ Hi Android ]
- 【Python数据分析与可视化】Pandas统计分析-实训
- 【Hack The Box】windows练习-- love
- K8s安全管理:认证、授权、准入控制
- 俄大神 lopatkin Windows 精简优化系统 - 工具软件
- 阿里云天池大赛赛题(深度学习)——视频增强(完整代码)
- HTML5期末大作业:电影网站设计——迪斯尼公主滚动特效(7页) HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作
- 债券正回购和逆回购交易操作指南
热门文章
- 9.11两点间距离(1636050091)
- 基于Spark机器学习和实时流计算的智能推荐系统
- cocos2dx win32下的MainLoop分析(启动流程)
- 大数据之-Hadoop3.x_MapReduce_排序概述---大数据之hadoop3.x工作笔记0114
- C++提高部分_C++模板的局限性_以及用模板具体化来解决模板局限性问题---C++语言工作笔记086
- 认识activiti与flowable的区别---工作流工作笔记001
- weightedrandomSamplers(1)
- MYSQL启动后报:ERROR! The server quit without updating PID file错误的问题解决
- wireshark在win8.1上抓包的问题解决
- 路由器IP-4-DUPADDR: Duplicate address和CDP-4-DUPLEX_MISMATCH错误的解决方案