Python - 从目录加载模块

Kra*_*rab 1 python

为什么python从目录加载我的模块,即使该目录不应被视为一个包(不包含__init__.py)?

app
  main.py
  fake_module
    module.py
Run Code Online (Sandbox Code Playgroud)

这工作,即使fake_module不包含__init__.py

import fake_module.module
Run Code Online (Sandbox Code Playgroud)

如果我想创建定期fake_module__init__.pymodule.py文件中的某个地方sys.path,将module.py根据此常规装fake_module包?

我正在使用pycharm和python3.3

Aya*_*Aya 7

它看起来像__init__.py是可选的像Python 3.3的.另见PEP420.

  • Bingo,我忘记了3.3中新的隐式命名空间支持. (2认同)