关于python:从上级目录导入模块-python2

Import module from above directory - Python2

本问题已经有最佳答案,请猛点这里访问。

这是我的档案树:

1
2
3
4
project/
   moduleToImport.py
   folder1/
      willImport.py

我不能在我的willImport.py文件中导入moduleToImport.py。我是这样执行的:

1
usr@machine:~/home$ /test/anotherFolder/project/folder1/willImport.py --args"a""b""c"

所以当我尝试这个解决方案时:

1
from .. import moduleToImport

willImport.py文件试图从../home而不是/project导入,因此他找不到moduleToImport.py

我发现的另一个解决方案是:

1
2
3
import sys
sys.path.append("/path/to/dir")
from app import object

但如果我使用相对路径(这是必要的),比如:

1
2
sys.path.append("..")
from .. import moduleToImport

因为这和以前会有同样的问题:他从江户进口。

主要的问题是,我不能使用绝对路径,因为它会改变。

有什么想法吗?


文件夹

1
2
3
4
project/
  moduleToImport.py
  folder1/
    willImport.py

意志投入

1
2
3
4
5
6
7
8
9
import os
import sys

runPath = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(runPath,".."))

from moduleToImport import func

func()

模块导入.py

1
2
def func():
    print("Success")

输出:

1
Success