python怎么导入库包?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么导入库包?相关的知识,希望对你有一定的参考价值。
Python库的导入 import A 为最简单的引入对应的包。 参考技术A包(packages)其实也是模块,其类型Type也是module。通常引用自定义模块时有两种方法:
1)将两个文件放在同一目录下。
2)在sys.path下添加要引用的py文件的路径。然后import。
这样的做法,对于少数文件是可行的,但如果程序数目很多,层级很复杂时就比较麻烦了。此时用package就能将多个py文件组织起来,类似于第三方包一样的引用。要方便很多。
package的层次结构与程序所在目录的层次结构相同,且必须包含一个__init__.py的文件。__init__.py可以为空,只要它存在就表明此目录被作为一个package处理。
package1/
__init__.py
subPack1/
__init__.py
module_11.py
module_12.py
module_13.py
subPack2/
__init__.py
module_21.py
module_22.py
……
__init__.py可以为空,只要它存在,就表明此目录应被作为一个package处理。当然,__init__.py中也可以设置相应的内容。
好了,现在我们在module_11.py中定义一个函数:
def funA():
print "funcA in module_11"
return
一.引用模块
在顶层目录(也就是package1所在的目录,当然也参考上面的介绍,将package1放在解释器能够搜索到的地方)运行python:
>>>from package1.subPack1.module_11 import funcA
>>>funcA()
funcA in module_11
这样,我们就按照package的层次关系,正确调用了module_11中的函数。
二.使用通配符*,导入某个module中的所有元素
答案就在__init__.py中。我们在subPack1的__init__.py文件中写
__all__ = ['module_13', 'module_12']
然后进入python
>>>from package1.subPack1 import *
>>>module_11.funcA()
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named module_11
也就是说,以*导入时,package内的module是受__init__.py限制的。
三.在package内部互相调用。
如果希望调用同一个package中的module,则直接import即可。也就是说,在module_12.py中,可以直接使用
import module_11
2.如果不在同一个package中,例如我们希望在module_21.py中调用module_11.py中的FuncA,则应该这样:
from module_11包名.module_11 import funcA
四.Python如何找到我们定义的module?
在标准包sys中path属性记录了Python的包路径。
import sys
print(sys.path)
通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.
另一种方便的方法是编程中直接指定我们的module路径到sys.path 中。
常用的话也可以放在python27\\lib\\site-packages文件夹下。
库包模块
一、库
库: python的一个一个的项目
标准库:python安装时自带的库
第三方库:所有pythoner开发经过审核后作为第三方库
自己写的库:项目名
二、包
1、包的概念
包是一个有层次的文件目录结构,由模块和子包组成。包就是包含__init__.py的文件夹
2、python中__init__.py文件的作用
python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。
三、模块
定义: 以.py为结尾的文件都是模块
1、导入模块
import语句
推荐:
import放在程序前面,且按照Python标准库模块、Python第三方模块、自定义模块的顺序从上到下排开。
2、from-import语句
可以导入模块中指定属性:from module import name1[,nam2[,...nameN]]
注意:
(1)、导入可使用\\进行换行,
如:from module import nam1,name2,\\
name3,name4....
(2)、使用as更换名称:
from module import name1 as name2
2、搜索模块路径
Python搜索模块的路径:
1)、程序所在目录
2)、python安装标准库目录
3)、第三方库目录
以上是关于python怎么导入库包?的主要内容,如果未能解决你的问题,请参考以下文章