导入一个距离当前目录几个文件夹的用户自定义模块。
导入一个距离当前目录几个文件夹的用户自定义模块。
这个问题已经有了答案:
可能是重复的问题:
所以,我正在尝试包含一个在我的Python文件的上一级目录和多个文件夹中的模块。
因此,文件夹的层次结构如下:
\Folder\ \Folder\First\ \Folder\First\myPythonFile.py \Folder\Second\ \Folder\Second\AnotherFolder\ \Folder\Second\AnotherFolder\addedFile.py
我想将addedFile.py包含到myPythonFile.py中。 我不确定如何实现这一点。
admin 更改状态以发布 2023年5月21日
自 Python 2.5(也许是2.4)以来,可以使用相对导入。
如果在Second
和Second\AnotherFolder
文件夹中添加两个空的__init__.py
文件,则可以根据PEP 328编写:
from ..Second.AnotherFolder.addedFile import eggs
在myPythonFile.py
中以导入所需的模块(例如eggs)
(将__init__.py
文件添加到文件夹中会将它们转换为包)
另一种方法
如果您不想为Second
文件夹创建包,则可以更改sys.path以包括Second\AnotherFolder
文件夹:
import sys import os sys.path.append(sys.path.append(os.path.abspath('../Second/AnotherFolder'))) import addedFile
但我不鼓励这种方法,原因在这里进行了解释。