0

可能重复:
如何在 Python 中进行相对导入?

所以我试图包含一个模块,它是我的 python 文件中的一个文件夹,然后是多个文件夹。

所以文件夹层次结构如下:

\Folder\
    \Folder\First\
        \Folder\First\myPythonFile.py
    \Folder\Second\
        \Folder\Second\AnotherFolder\
            \Folder\Second\AnotherFolder\addedFile.py

我想将 addedFile.py 包含到 myPythonFile.py 中。我不确定这是如何实现的。

4

1 回答 1

1

从 2.5(可能是 2.4)开始,在 Python 中可以进行相对导入

如果你__init__.pySecondSecond\AnotherFolder文件夹中添加两个空文件,根据PEP 328你可以写:

 from ..Second.AnotherFolder.addedFile import eggs

里面myPythonFile.py

导入所需的模块(在我的示例中为鸡蛋

__init__.py在文件夹中添加文件会将它们转换为

替代方法

如果您不想为您的Second文件夹创建包,您可以更改 sys.path 以包含您的Second\AnotherFolder文件夹:

import sys
import os
sys.path.append(sys.path.append(os.path.abspath('../Second/AnotherFolder')))
import addedFile

但我不赞成这种方法,原因在这里解释。

于 2013-02-05T17:04:49.010 回答