python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。
那么,__init__.py还有什么别的功能呢?
其实,__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件。
我们可以再__init__.py文件中再导入其他的包,或者模块。
import readers
import writers
import commands
import users
import meta
import auth
import admin
这样,当我们导入这个包的时候,__init__.py文件自动运行。帮我们导入了这么多个模块,我们就不需要将所有的import语句写在一个文件里了,也可以减少代码量。
不需要一个个去导入module了。
__init__.py 中还有一个重要的变量,叫做 __all__。我们有时会使出一招“全部导入”,也就是这样:
from PackageName import *
这时 import 就会把注册在包 __init__.py 文件中 __all__ 列表中的子模块和子包导入到当前作用域中来。比如:
#文件 __init__.py
__all__ = ["Module1", "Module2", "subPackage1", "subPackage2"]
参考:
http://blog.csdn.net/yxmmxy7913/article/details/4233420
分享到:
相关推荐
__ init __.py what is init.py? 通常在一个工程文件里面,我...其实就是新建一个文件夹,然后在里面新建一个__init__.py文件,这样子python就会把该文件夹当成一个package来看待了。package的引入是为了方便管理模块
__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from … import * 语句使用的,__all__中定义的模块将在from … import * 中全部导入 目录结构: test1代码: package_...
我们经常在python的模块目录中会看到 “__init__.py” 这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package) 如果你是使用python的相关IDE来进行开发,那么如果目录中存在该...
程序在编辑环境中可以正常使用,为了将做好的报表程序COPY给同事用,所以用pyinstaller对.py程序进行了打包,但打包成EXE文件后,运行时提示错误。 从错误提示可以看出:mandarin.dat 未找到 。 mandarin.dat ...
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的...
7.9___init__.py_的用法|包、模块、函数与变量作用域|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
第10.10节 Python使用__init__.py自动加载包下内容.rar
用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的意义,偶然看到对它的介绍吓一大跳,这个文件太重要了 模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py。然后...
Python关于import的实验(10) 利用__init__.py文件将变量和包下的模块作为包的属性
__init__.py #Initialize the sound package formats/ #Subpackage for file format __init__.py wavread.py wavwrite.py mp3read.py mp3write.py effects/ #Subpackage for effects __...
【python开发】1. __init__.py与导包(csdn)————程序
资源分类:Python库 所属语言:Python 资源全名:ybc_box-2.0.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
│ ├── __init__.py │ ├── bar.py │ └── foo.py └── test.py 文件内容,从上至下,依次为 mdl/init.py: #encoding:utf-8 from .foo import Foo #python2、3都适用 from .bar import Bar #python2、3...
这是在安装pydelicious过程中遇到DeliciousItemExistsError时,通过替换pydelicious的__init__.py文件解决问题的替换文件
——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!