使用 Python 3.5 及更高版本导入目录错误

Import directory errors with Python 3.5 and above

我想从 Python 3.6 的文件夹和子文件夹中导入模块。 目前我有这样的结构。

└── project
    │   main.py
    ├── package1
    │   ├── __init__.py
    │   └── module1.py
    └── package2
        ├── __init__.py
        ├── module2.py

当我导入 module1 和 module2 时,我没有遇到任何问题。
main.py 中有这个脚本来导入两个模块。

from package1 import module1
from package2 import module2

效果很好!

但是我想将 package2 和 module2 移动到 package1 下的子文件夹中,如下所示:

└── project
    │   main.py
    └── package1
        ├── __init__.py
        ├── module1.py
        └── subpackage1
            ├── __init__.py
            ├── module2.py

并想从 main.py 调用模块 2。尝试了以下路径和脚本并不能解决我的问题,我收到导入错误,它找不到路径。

main.py 中有这个脚本来导入两个模块。

from package1.subpackage1 import module2

from package1.subpackage1.module2 import Class_in_module2

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
from package1.subpackage1 import module2

它不起作用。找不到路径! 任何帮助不胜感激!

由于 from 关键字接受文件夹层次结构并且 import 来自文件的特定方法,这应该有效。

from MainFolder.SubFolder.SomeDotPy import foo,bar,somevalue