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

时间:2014-04-28 18:51:32

标签: 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\\\\django\\\\dir

为什么我得到4条斜线的路径? 有没有办法避免这种行为,或者我可以删除重复的斜线?

谢谢!

2 个答案:

答案 0 :(得分:3)

在我的django项目中,我使用的是unipath。它简化了很多 尝试使用https://pypi.python.org/pypi/Unipath/1.0 这真的很好,自我解释。

答案 1 :(得分:1)

虽然我无法重复您的问题,但您可以使用字符串方法replace删除多余的空格:

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

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