如何在python中的上层目录中导入模块

时间:2015-06-22 09:14:58

标签: python

我在项目中有几个python模块,我将它们放在不同的文件夹中,例如,

pythonProject\folderA\modulex.py
pythonProject\folderB\moduley.py
pythonProject\commonModule\module1.py 

我在每个文件夹中都有__init__.py。 在这种情况下,如何将module1导入modulex?

3 个答案:

答案 0 :(得分:2)

使用相对导入

# in modulex
from ..commonModule import module1

答案 1 :(得分:1)

每当你有python包(那些包含__init__.py个文件的文件夹)时,你可以导入如下的模块

modulex.py
----------

from pythonproject.commonModule import module1

试试这个,如果工具没有定义pythonproject,那么你可以使用下面的相对寻址

from ..commonModule import module1

答案 2 :(得分:0)

如果所有模块都在同一目录中,则效果最佳。如果他们中的任何一个在不同的可能使用os.chdir(路径)。使用os.chdir(path)方法(https://docs.python.org/3.2/library/os.html)可能会更改程序中的工作目录。

import os
import modulex

#assume working directory is "pythonProject\folderA\"

os.chdir(r'pythonProject\commonModule\')
#now working directory is "pythonProject\commonModule\"

import module1