__init__.py在哪些情况下运行?

时间:2017-09-14 09:47:26

标签: python packages

我在当前目录中有__init__.py个文件。

我需要一个完整的环境列表,在该环境下运行此文件。

第一种情况是

import __init__

写在同一目录的script.py中,此文件运行。

还有什么其他案例?

1 个答案:

答案 0 :(得分:0)

导入与其对应的包时运行__init__.py文件。因此,some_package\__init__.py时会执行文件import some_package。从包导入子模块时,首先加载包。因此import aa.bb.cc会在加载aa/__init__.pyaa.bb之前加载aa(从而执行aa.bb.cc)。

文件夹some_package必须是可发现的,这意味着它必须存在于sys.path个文件夹中。这包括当前目录。

如果你只是运行一个脚本(python some_script.py)并且恰好在同一文件夹中有一个__init__.py文件,那么这意味着什么,因为当前文件夹本身不是一个包。 (当然,除非您执行恰好位于包内的脚本)。