在Windows系统中,路径分隔符是反斜杠 \
,
而在Linux系统中,路径分隔符是正斜杠 /
。
为了在多平台上保持路径正确,应该使用os.path.join()
函数来拼接路径,这样会根据当前系统的路径分隔符来自动调整。
第一种:
BASE_DIRS = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# image_path = fr"{BASE_DIRS}/static/base/diploma.png"
os.path.abspath(__file__) 将返回文件的绝对路径
os.path.dirname() 上级目录
第二种:
BASE_DIR = Path(__file__).resolve().parent.parent.parent
或者
BASE_DIR = Path(__file__).resolve().parents[3]
Path(__file__)
将返回文件的绝对路径.resolve()
方法将此路径转换为规范化的绝对路径,以确保没有符号链接或其他特殊情况
.parent
来获取一层父级目录
.parents[3] 获取三层
拼接路径 -->>
image_path = os.path.join(BASE_DIRS, 'static', 'base', 'diploma.png')