为什么不使用init.py就可以成功导入?

2024-04-20 05:49:52 发布

您现在位置:Python中文网/ 问答频道 /正文

__init__.py的确切用途是什么?是的,我知道这个文件会把一个目录变成一个可导入的包。但是,请考虑以下示例:

project/
   foo/
      __init__.py
      a.py
      bar/
         b.py

如果要将a导入b,必须添加以下语句:

sys.path.append('/path_to_foo')
import foo.a

无论是否有__init__.py,此操作都将成功运行。但是,如果没有sys.path.append语句,则会出现“no module”错误,无论是否有__init__.py。这使得系统路径似乎很重要,并且__init__.py没有任何效果。

为什么这个导入在没有__init__.py的情况下工作?


Tags: 文件topathpyimport目录project示例