在eclipse中用pydev开发python脚本时,当新建一个package时,系统会自动地生成一个空的__init__.py文件。如果把这个文件删掉,那么你会发现包图标自动变为文件夹图标。这是怎么回事呢?
原来在python模块的每一个包中, 都必须存在一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。当你将一个包作为模块导入(比如从 xml 导入 dom )的时候,,实际上导入了它的 __init__.py 文件。
一个包是一个带有特殊文件__init__.py 的目录。__init__.py 文件定义了包的属性和方法。其实它可以什么也不定义;可以只是一个空文件,但是必须存在。如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。
在python根目录下的帮助文件.chm中是这样描述的:
The __init__.py files are required to make Python treat the directories as containing packages; this is done to prevent directories with a common name, such as string, from unintentionally hiding valid modules that occur later on the module search path. In the simplest case, __init__.py can just be an empty file, but it can also execute initialization code for the package or set the __all__ variable, described later.
有关__all__ 变量的用法,请参考帮助系统中的6.4.1. Importing * From a Package部分。
本文出自 “青峰” 博客,请务必保留此出处
相关推荐
包通常是一个文件夹,当文件夹当作包使用时,文件夹需要包含__init__.py文件 __init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from … import * 语句使用的,__all__中...
__ init __.py what is init.py? 通常在一个工程文件里面,我...其实就是新建一个文件夹,然后在里面新建一个__init__.py文件,这样子python就会把该文件夹当成一个package来看待了。package的引入是为了方便管理模块
在本节中,我们将深入探讨如何利用`__init__.py`文件来实现包的自动加载,从而理解Python的包结构和导入机制。 首先,让我们明确`__init__.py`文件的作用。在Python中,一个包含`__init__.py`的目录被视为一个包。...
总结来说,本实验的重点在于理解`__init__.py`文件在创建Python包中的作用,以及如何通过它来定义和组织包的公共属性和接口。通过这样的实践,开发者能够更好地管理和组织大型项目,提高代码的可读性和可维护性。在...
Python 开发过程中,`__init__.py` 文件是至关重要的,因为它定义了 Python 包的结构和行为。在深入理解 `__init__.py` 的作用之前,我们需要先明白 Python 的模块导入机制。 Python 模块导入的过程大致分为四个...
- 提供这个压缩包的目的可能是为了帮助Python初学者理解和掌握Python的包和模块系统,以及`__init__.py`的使用方法。 - 鼓励大家通过阅读代码、运行实验、讨论问题来深化理解,并与其他Python学习者和爱好者进行...
程序在编辑环境中可以正常使用,为了将做好的报表程序... 找到编辑此文件【C:\ProgramData\Anaconda3\Lib\site-packages\xpinyin\__init__.py】,安装环境不同,目录和本文不不一定相同。根据xpinyin包的位置查找即可。
7.9___init__.py_的用法|包、模块、函数与变量作用域|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
本文实例讲述了Python模块...然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。 差不多就像这样吧: Package1/ __init__.py Module1.py Module2.py Package2 Package1/Pac
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的...
我们经常在python的模块目录中会看到 “__init__.py” 这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package) 如果你是使用python的相关IDE来进行开发,那么如果目录中存在该...
通过上述介绍可以看出,正确地使用包和 `__init__.py` 文件可以帮助开发者更好地组织代码结构,并有效地管理不同层级的模块导入。需要注意的是,合理地规划包结构和 `__init__.py` 文件中的内容对于保持代码清晰度...
当一个目录包含一个名为 `__init__.py` 的文件时,Python 会将该目录识别为一个包,允许在其中定义模块和类,并支持包内模块之间的导入。在 Python 2 和 Python 3 中,这个基本概念保持不变。 在 Python 2 中,`__...
在Python编程语言中,`__init__.py` 文件是一个特殊文件,它在模块或包的结构中起到关键作用。这个文件通常被包含在目录结构中,以标识该目录为一个Python包,使得Python解释器能够识别并处理其中的模块。在深入探讨...
在给定的`python-mysql.py`文件中,很可能包含了如何使用`pymysql`连接MySQL数据库的示例代码。通过学习和理解这个文件,你可以更好地掌握如何在Python项目中与MySQL数据库进行交互。 总之,Python的`pymysql`库为...