这是我的文件树:
project/
moduleToImport.py
folder1/
willImport.py
我无法在moduleToImport.py
文件中导入willImport.py
。
我这样执行:
usr@machine:~/home$ /test/anotherFolder/project/folder1/willImport.py --args "a" "b" "c"
因此,当我尝试此解决方案时:
from .. import moduleToImport
willImport.py
文件尝试从../home
而不是/project
导入,因此他找不到moduleToImport.py
。
我发现的另一个解决方案是:
import sys
sys.path.append("/path/to/dir")
from app import object
但是,如果我使用相对路径(这将是必需的),则无法正常工作,例如:
sys.path.append("..")
from .. import moduleToImport
因为它将具有与以前相同的问题:他从../home
导入。
主要问题是,我不能使用绝对路径,因为它将改变。
有什么想法吗?
答案 0 :(得分:0)
project/
moduleToImport.py
folder1/
willImport.py
import os
import sys
runPath = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(runPath, ".."))
from moduleToImport import func
func()
def func():
print("Success")
Success