Python 如何在没有双斜杠的情况下获得相对于项目根的绝对路径?

Python 如何在没有双斜杠的情况下获得相对于项目根的绝对路径?,python,django,Python,Django,我定义此函数以获取相对于项目根的绝对路径: def relpath(*x): return os.path.normpath(os.path.join(os.path.dirname(__file__), '..', *x)) GET_PATH = ( relpath('django/dir/'), #tuple ) 问题是我得到的路径带有双斜杠(在Windows上),如下所示: C:\\\\Users\\\\Fuiba\\\\Desktop\\\\Apps\\\\djan

我定义此函数以获取相对于项目根的绝对路径:

def relpath(*x):
    return os.path.normpath(os.path.join(os.path.dirname(__file__), '..', *x))

GET_PATH = (
    relpath('django/dir/'),  #tuple
)
问题是我得到的路径带有双斜杠(在Windows上),如下所示:

C:\\\\Users\\\\Fuiba\\\\Desktop\\\\Apps\\\\django\\\\dir
为什么要用4个斜杠来获取路径?
有没有办法避免这种行为,或者我可以删除重复的斜杠


谢谢

虽然我无法重复您的问题,但您可以使用string方法
replace
,删除额外的空格:

s = 'C:\\\\Users\\\\Fuiba\\\\Desktop\\\\Apps\\\\django\\\\dir'

print(s.replace('\\\\','\\')) #C:\Users\Fuiba\Desktop\Apps\django\dir

虽然我无法重复您的问题,但您可以使用string方法
replace
,删除额外的空格:

s = 'C:\\\\Users\\\\Fuiba\\\\Desktop\\\\Apps\\\\django\\\\dir'

print(s.replace('\\\\','\\')) #C:\Users\Fuiba\Desktop\Apps\django\dir

在我的django项目中,我使用的是unipath。它简化了很多 尝试使用
这真的很好,而且可以自我解释。

在我的django项目中,我使用的是unipath。它简化了很多 尝试使用
这真的很好,可以自我解释。

如果我不清楚,我很抱歉。当我使用tuple时,4被砍掉了。(我编辑了我的问题)谢谢你的回答。我试过:
s=relpath('django/dir/')GET\u PATH=(s.replace('\\\\','\\'),)
但不起作用。不幸的是,我仍然不能重复你的问题:你的代码(不使用
replace
)给了我两条斜线,像这样:
(C:\\Users\\Fuiba\\Desktop\\Apps\\django\\dir,)
如果我不清楚,我很抱歉。当我使用tuple时,4被砍掉了。(我编辑了我的问题)谢谢你的回答。我试过:
s=relpath('django/dir/')GET\u PATH=(s.replace('\\\\','\\'),)
,但不起作用。不幸的是,我仍然不能重复你的问题:你的代码(不使用
replace
)给了我两条斜线,像这样:
(C:\\Users\\Fuiba\\Desktop\\Apps\\django\\dir,)