模块包的使用介绍

    通常在写python程序的时候,所用到的模块,都放在和调用模块的文件同一个目录里,通过import 或者from  import这样的语句来调用模块。但是如果文件或模块多了,会显得目录很乱,为了便于管理程序文件和模块,我们会把他们分门别类的存放于不同的文件夹下,但我们把单独存放模块的文件夹,称做模块包。这样问题就来了,如何调用不同模块包下的模块?单单使用import或者 from  import这样的语句是行不通的。
为了解决这样一个问题,我们可以如下面的方法做:

举例说明:

我创建了一个名字为main的文件夹,这里存放的是所有的python程序文件,包括模块。为了便于管理,我把mian里面的模块分成两类分别存放在两个不同的文件夹(模块包)下面他们分别是module_one模块包 和 module_two模块包。注意他们的关系是:main文件夹包括module_one 和module_two ,而module_one 和module_two是相对独立的。

在module_one里,我存放了这样一个模块,名字为:module_one.pyc内容为:

#!/usr/bin/python
#filename:module_one.pyc

def hello_one():
    print 'hello ! this is module_one !'

在module_two里,我存放了这样一个模块,名字为:module_two.pyc内容为:

#!/usr/bin/python
#filename:module_two.pyc

def hello_two():
    print 'hello ! this is module_two !'

在main文件夹里我写了文件名字为:main.py的这样程序,我想在main.py中调用module_one模块并使用里面的方法,应该怎么做?其实很简单,最关键的是,我们要在module_one模块包中创建一个名字为__init__.py(注意init的前后是双下划线)的空内容文件。然后我就在可以在main.py中调用了!main.py代码如下:

#!/usr/bin/python
#filename:main.py

import module_one.module_one
module_one.hello_one()

这样保存后,并运行,我们就会看到结果输出为:

hello ! this is module_one !

这样就成功调用不同模块包里的模块了!

如果我在module_one中创建了一个one.py的程序,想调用module_two模块包中的模块,我可以这么做:在module_two中创建__init__.py。然后在one.py里写如以下代码:

#!/usr/bin/python
#filename:one.py

import main.module_two.module_two
module_two.hello_two()

这样保存后,并运行,我们就会看到结果输出为:

hello ! this is module_two !


只要我们在各个模块包中建立了__init__.py这个关键性的文件,我们就可以通过import 模块包名.模块名 或者 from 模块包名 import 模块名这样的方式任意调用模块。


写在最后:我也是一个python新手,正在学习最为基础的东西,如果本文有错误,请大家原谅~~ 记得报错啊!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值