转载自:http://www.runoob.com/python/python-modules.html
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。
考虑一个在 package_runoob 目录下的 runoob1.py、runoob2.py、__init__.py 文件,test.py 为测试调用包的代码,目录结构如下:
test.py
package_runoob
|-- __init__.py
|-- runoob1.py
|-- runoob2.py
源代码如下:
package_runoob/runoob1.py
#!/usr/bin/python# -*- coding: UTF-8 -*- def runoob1(): print "I'm in runoob1"
package_runoob/runoob2.py
#!/usr/bin/python# -*- coding: UTF-8 -*- def runoob2(): print "I'm in runoob2"
现在,在 package_runoob 目录下创建 __init__.py:
package_runoob/__init__.py
#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': print '作为主程序运行'else: print 'package_runoob 初始化'
然后我们在 package_runoob 同级目录下创建 test.py 来调用 package_runoob 包
test.py
#!/usr/bin/python# -*- coding: UTF-8 -*- # 导入 Phone 包from package_runoob.runoob1 import runoob1from package_runoob.runoob2 import runoob2 runoob1()runoob2()
以上实例输出结果:
package_runoob 初始化
I'm in runoob1
I'm in runoob2