设为首页 加入收藏

TOP

关于Python模块和包
2015-02-25 16:15:38 来源: 作者: 【 】 浏览:24
Tags:关于 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代码为:


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,是不是感觉熟悉了一些?  


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇shell脚本中grep时关于变量带双引.. 下一篇深入理解C#泛型

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: