模块、包
2015-10-10 00:00
120 查看
python脚本都是以扩展名py文本文件保存的,一个文件可以单独运行,也可以导入另外一个文件运行。每个文件都是一个模块,并且文件导入其他模块之后就可以使用导入模块定义的变量名。
2、
3、
先在当前目录下寻找module1.py的文件
然后再从环境变量PYTHONPATH寻找
如果这环境变量没有设定,解释器还会在安装预先设定的的一些目录寻找(sys.path)
如果将module1.py不放在当前目录,而随便放在一个目录下。这里你就需要通过某种途径,如sys.path.append(‘路径名’),来告知Python了。
注:sys.path返回的是模块搜索列表,那么就是使用list的append()或insert()增加新的目录。
这里package就是一个目录,module是模块,即package目录下的一个module.py的文件。
一、模块的导入
1、import module
2、
from module import 函数名1,函数名2....
3、
from module import name1 as name2
二、模块的搜索路径
当一个python导入一个模块module1时候,python解释器寻找module1.py文件的顺序为:先在当前目录下寻找module1.py的文件
然后再从环境变量PYTHONPATH寻找
如果这环境变量没有设定,解释器还会在安装预先设定的的一些目录寻找(sys.path)
>>> import sys >>> print sys.path ['', '/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.4-py2.7-linux-x86_64.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']`
如果将module1.py不放在当前目录,而随便放在一个目录下。这里你就需要通过某种途径,如sys.path.append(‘路径名’),来告知Python了。
注:sys.path返回的是模块搜索列表,那么就是使用list的append()或insert()增加新的目录。
三、包
创建了多个模块后,我们可能希望将某些功能相近的文件放在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含_init_.py文件,主要是为了避免将文件夹名当作普通的字符串。_init_.py的内容可以为空,一般用来进行包的某些初始化工作或者设置_all_值,_all_是在from package-name import *这语句使用的,全部导出定义过的模块。import package.module
这里package就是一个目录,module是模块,即package目录下的一个module.py的文件。
相关文章推荐
- HDU 5445 Food Problem (2015年长春站网络赛1009 多重背包DP)
- Java虚拟机垃圾收集器
- 附近wifi查询接口文档及实现
- 影片信息api,城市影讯检索
- Object-c父类子类
- centos6.7 安装 Mariadb数据库
- ubuntu环境下 自动化编译环境安装
- Android--多线程之Handler
- 安卓打电话发短信代码
- 安卓自定义组合控件,自定义控件多个案例总结(来自互联网)
- 安卓中各种listView的使用
- 栈的java实现(数组实现和链表实现)
- virtualbox有驱动模块在linux启动后未被自动加载
- 关于“创业”这件事
- EyeKey:攻城狮,MDCC大会A14展位约起!
- 山东润达软件:"青岛大虾"持续火爆的背后
- [ogre] Ogre vs2012创建应用程序《原创》
- Spark Eclipse 开发环境搭建
- Guava学习笔记:EventBus
- 电影接口 按关键字检索影片信息