模块、包
来源:互联网 发布:usb端口检测软件 编辑:程序博客网 时间:2024/04/26 04:41
python脚本都是以扩展名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的文件。
0 0
- 模块、包
- 关于包和模块
- Python 模块和包
- Python模块包
- Python类、模块、包
- 包和模块
- Python模块和包
- Python 模块和包
- python模块和包
- Python类,模块,包
- python 模块和包
- Perl包和模块
- python 包 模块导入
- Python类、模块、包
- Python模块和包
- Node.js 模块 包
- Node.js 模块 包
- Perl包和模块
- 手动安装第三方类库【案例:生成二维码(phpqrcode)】
- Connecting C++ and XAML
- 关系查询语言
- 插入排序与冒泡排序
- Mysql之Mysqldump
- 模块、包
- SSH+Activiti+Dbutil框架搭建旅程(附源码)
- [Leetcode] Add Digits
- 从道德经中学习java
- 移动前端开发之viewport的深入理解
- Mac OS X挂载ntfs文件系统
- 如何搭建一个独立博客——简明Github Pages与Hexo教程
- CocoaPods安装和使用教程
- File类