简述Python模块和包


 我们常常会使用别人写的包,假如我们使用的是Python3.4版本,安装在windows的C盘根目录下,那么外部的包一般放在:C:\Python34\Lib\sit-packages下,此目录下有以.py单独存在的文件,也有以文件夹存在的包,下面我们简单说一下Python中的模块和包,看完之后,也许会对这个目录看的更清楚一些。
 
一、模块
 
我们编写文件:a.py,放在C:\Python34\Lib\sit-packages下,里面写上一句代码为:
 
 
print('this is a')
之后我们就可以在我们的代码里面引用a.py文件,这里a.py就称为一个模块。在我们的工作目录编写文件:test.py,代码如下:
 
 
print('hello world')
运行后,显示结果为:
 
hello world  
 
修改test.py代码为:
 
1
2
import a
print('hello world')
运行后,显示结果为:
 
this is a
hello world
 
由于我们在代码里面增加了import a,所以会先执行a.py模块里面的代码。  
 
这里补充一点,我们除了可以引用.py结尾的模块文件,也可以引用.pyc  .pyo  .pyd  .so .dll后缀的模块文件,这几个文件有什么区别呢,网上找的一个回答,可以参考一下:
 
 
 
二、包
 
  如果有许多个.py模块文件,我们可以把他们统一放在一个文件夹下,方便管理,在C:\Python34\Lib\sit-packages下,新建文件夹Test,文件夹Test下新建b.py c.py,分别写上代码:print('b')和print('c'),修改test.py代码为:
 
 
import Test.b
print('hello world')
 
 
this is b
hello world
 
三、为包增加__init__.py文件
 
  我们看到很多包里面都包含__init__.py文件,我们也在Test文件夹下新建此文件,输入代码:print('this is init'),再次运行test.py,
 
运行后,显示结果为:
 
this is init
this is b
hello world
 
可见,增加__init__.py文件后,引入包后,会先运行__init__.py中代码
 
四、子包
 
  如果要在包中建立子包,那么同样的方法,在Test文件夹下新建childTest文件夹,里面依然放进我们需要的.py文件即可。
 
现在再去打开C:\Python34\Lib\sit-packages,是不是感觉熟悉了一些?  

评论关闭