从"子子目录中导入模块"在Python 3中

时间:2016-11-04 11:10:54

标签: python python-2.7 python-3.x

我有一个目录树,如下所示(使用tree可视化):

func imageTapped(_ sender: UITapGestureRecognizer) {

    if let imageView = sender.view as? UIImageView {
        if ( imageView == photoImageViewLeft ) {
            print("Image1 Tapped")
        }else {
            print("Image2 Tapped")
        }

    }
}

主目录中的. ├── __init__.py └── testsubdir ├── __init__.py └── testsubsubdir ├── __init__.py └── __init__.pyc 包含__init__.py命令,import testsubdir中的__init__.py包含testsubdir。我注意到这适用于Python 2.7,但不适用于Python 3.5:

import testsubsubdir

我正在努力翻译'从Python 2到Python 3的一些源代码,其中包含类似于上面的import语句。在Python 3中使用它的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

This answer to a similar question建议使用相对导入:

在顶级__init__.py

from . import testsubdir

testsubdir/__init__.py

from . import testsubsubdir