假设我有当前的文件结构:
modules \ script.py:
import sys
sys.path.append("..\\")
from modules.module import module
[...]
main.py:
import sys
from modules.module import module
[...]
modules \ module.py:
[...]
fileToRead="somefile.txt"
问题是:
"modules\\somefile.txt"
"..\\modules\\somefile.txt"
我不想使用绝对路径,因为我希望我的app文件夹可以移动。 我想到了一个相对于根文件夹的路径,但我不知道它是否是一个干净的解决方案,我不想用redondant东西污染我的所有脚本。
有没有一种干净的方法可以解决这个问题?
答案 0 :(得分:2)
我不确定您所做的一切,但由于somefile.txt
与module.py
位于同一文件夹中,您可以通过以下方式创建相对于模块的路径使用其预定义的__file__
属性:
import os
fileToRead = os.path.join(os.path.dirname(__file__), "somefile.txt")