我有以下目录树(Python 2.7):
./pkg
./main.py
./A
./a.py
./B
./b.py
./C
./c.py
a.py、b.py和c.py需要相互导入,所以我有两种选择:
使用相对导入,这意味着我必须从 ./pkg/main.py 或目录树顶部的另一个文件启动程序。这真的很好,但是当我对其中一个文件编写测试时问题就开始了。我无法在 ./main/A 中编写导入 a.py 的测试,因为 a.py 无法使用 b.py 和 c.py,所以唯一的方法是在 . /主要的。
将每个文件中 ./main 的绝对路径添加到sys.path中。这意味着我必须为所有文件编写相同的三行,如果我有 300 个文件而不是 3 个文件,那会很痛苦(而且很可能,不是最好的办法)。
所以我该怎么做?