我在一个文件夹中有代码,并想在相邻文件夹中导入代码,如下所示:
I am trying to import a python file in innerLayer2, into a file in innerLayer1
outerLayer:
innerLayer1
main.py
innerLayer2
functions.py
我创建了以下函数来解决我的问题,但一定有更简单的方法吗?这也只适用于 Windows,我需要它同时在 linux 和 windows 上工作。
# main.py
import sys
def goBackToFile(layerBackName, otherFile):
for path in sys.path:
titles = path.split('\\')
for index, name in enumerate(titles):
if name == layerBackName:
finalPath = '\\'.join(titles[:index+1])
return finalPath + '\\' + otherFile if otherFile != False else finalPath
sys.path.append(goBackToFile('outerLayer','innerLayer2'))
import functions
是否有更简单的方法适用于所有操作系统?
编辑:我知道最简单的方法是将 innerLayer2 放在 innerLayer1 内,但在这种情况下我不能这样做。文件必须相邻。
编辑:在分析收到的答案后,我发现了最简单的方法,并将其作为答案发布在下面。谢谢您的帮助。