模块包的使用介绍
2008-09-26 10:54
281 查看
通常在写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新手,正在学习最为基础的东西,如果本文有错误,请大家原谅~~ 记得报错啊!
为了解决这样一个问题,我们可以如下面的方法做:
举例说明:
我创建了一个名字为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新手,正在学习最为基础的东西,如果本文有错误,请大家原谅~~ 记得报错啊!
相关文章推荐
- HDVPSS模块介绍及使用
- Node.js中多进程模块Cluster的介绍与使用
- Python fileinput模块使用介绍
- Python Logging模块-介绍与使用
- Nodejs基础:stream模块入门介绍与使用
- [EntLib]微软企业库5.0 学习之路——第九步、使用PolicyInjection模块进行AOP—PART1——基本使用介绍
- Arduino 各种模块篇 motor shield 电机扩展板 介绍 及 步进电机使用(stepper!)
- 模块使用、面向对象介绍
- Python中模块使用及面向对象介绍
- joi模块验证的介绍与使用——一种基于schema的nodejs的对象校验,简单易用
- phpcms模块开发之swfupload的使用介绍_PHP教程
- Burp Suite工具使用之二-Intruder模块介绍
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法
- [EntLib]微软企业库5.0 学习之路——第九步、使用PolicyInjection模块进行AOP—PART3——内置Call Handler介绍
- xUtils3.0使用介绍:图片加载模块
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——下篇
- eQEP增强型正交编码模块原理介绍及配合MircoE mercury II 4000光栅传感器使用
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇
- node.js 第三方模块如何安装(使用npm)及介绍
- jeesite快速开发平台(六)----代码生成模块介绍及使用