子文件夹中一个.py文件导入父文件夹中某个.py文件

虽然各种Python语言编程书籍中一再强调,自从Python 3.3版本后,构建Python的Package结构,不用在每个文件夹下添加__init__.py文件。上面这句话,仅仅针对的是从主文件夹中的主要.py来导入各个子文件夹的模块结构来说的。自己亲自试验,确实如此。

但是,若想从子文件夹中的某个.py文件导入其父文件夹中某个.py文件,则需要在子文件夹和父文件夹中都要添加上文件__init__.py。这真是一个微小的使用Python的细节。

例如,下面目录结构:

ch08
|  api.py
|__tests
|  | test_api.py
|  |

若在test_api.py中写导入代码from ..api import is_valid等,则运行后会报错。

要解决上述错误,需要在ch08和tests文件夹下分别添加文件__init__.py

你可能感兴趣的:(Python,python)