查看文章 |
Python模块包中__init__.py文件的作用
2008-12-10 17:20
模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。差不多就像这样吧: Package1/ __init__.py 我们可以就这样导入一个包: import Package1 或者调入一个子模块和子包: from Package1 import Module1 可以深入好几层包结构: from Package1.Package2 import Module1 大致就这样吧,我觉得,包的精髓应该是在 __init__.py 这个文件之中的。
__init__.py 文件: >>> import Package1 我们需要在 __init__.py 里把 Module1 预先导入: #文件 __init__.py 测试: >>> import Package1 __init__.py 中还有一个重要的变量,叫做 __all__。我们有时会使出一招“全部导入”,也就是这样: from PackageName import * 这时 import 就会把注册在包 __init__.py 文件中 __all__ 列表中的子模块和子包导入到当前作用域中来。比如: #文件 __init__.py 测试: >>> from Package1 import * __init__.py 文件会在导入时被执行。
|
最近读者:

