如何从当前文件夹外部导入模块?

How to import a module from outside the current folder?

我正在尝试从 a.py 中的目录外部导入模块。

目录看起来像这样:

.project
├── folder_1
│   └── a.py
|
├── folder_2
│   ├── __init__.py
│   └── b.py

我的代码在a.py

#contents of a.py
from ..folder_2 import b.py

但由此,我得到了这个错误

ImportError: attempted relative import with no known parent package

我已经为这个问题寻找了很长一段时间的解决方案,但一直找不到任何有用的东西。

具有以下结构:

├── project
├── __init__.py
├── folder_1
│   ├── __init__.py
│   └── a.py
├── folder_2
│   ├── __init__.py
│   └── b.py
└── main.py 

你的a.py执行时不会报错main.py:

from project.folder_1 import a

因为projectmain.py的包,folder_1folder_2是它的子包,你可以使用 Intra-package References.

如果你想直接执行a.py,你可以简单地执行以下操作:

import sys

sys.path.append('..')

from folder_2 import b