os.path.join - 如何处理绝对路径

2024-04-28 20:26:41 发布

您现在位置:Python中文网/ 问答频道 /正文

Python3.5.2版

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'

我想加入他们:

^{pr2}$

结果是“/static/”。在

以下是文档: https://docs.python.org/3/library/os.path.html

我们可以读到“如果一个组件是一个绝对路径,那么所有先前的组件都将被丢弃,连接将从绝对路径组件继续。”

在我的例子中,调试器中的BASE-DIR是'/home/michael/PycharmProjects/photoarchive/photoarchive'。在

好吧,这是一条绝对的道路。它是通过abspath函数得到的。在

所以,第一个组件是一个绝对路径。在

你能告诉我它为什么被扔掉吗? 如何获得'/home/michael/PycharmProjects/photoarchive/photoarchive/static'?


Tags: pathurlhomebaseosdir组件static
1条回答
网友
1楼 · 发布于 2024-04-28 20:26:41

“如果一个组件是一个绝对路径,那么所有先前的组件都将被丢弃,并且从绝对路径组件继续连接。”适用于这里:STATIC_URL是一个绝对路径,因为它以/开头,因此{}被删除。在

删除前导/,否则dirname认为STATIC_URL是绝对的,只保留它。在

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = 'static/'

相关问题 更多 >