一尘不染

Python-从父文件夹导入模块

python

我正在运行Python 2.5。

这是我的文件夹树:

ptdraft/
  nib.py
  simulations/
    life/
      life.py

(我还在__init__.py每个文件夹中,为便于阅读,在此省略)

如何nib从模块内部导入life模块?我希望无需修补sys.path就可以做到。

注意:正在运行的主模块在ptdraft文件夹中。


阅读 451

收藏
2020-02-12

共2个答案

一尘不染

看来问题与该模块位于父目录或类似目录中无关。

你需要将包含的目录添加ptdraft到PYTHONPATH

你说过import nib与你合作,这可能意味着你已将ptdraft自身(而非其父项)添加到PYTHONPATH中。

2020-02-12
一尘不染

你可以使用相对导入(python> = 2.5):

from ... import nib

(Python 2.5的新增功能)PEP 328:绝对和相对导入

编辑:添加了另一个点“。” 上两个包

2020-02-12