【发布时间】:2011-12-13 11:56:42
【问题描述】:
考虑以下几点:
>>> from django.conf import settings
>>> import os
>>> settings.VIRTUAL_ENV
'C:/Users/Marcin/Documents/oneclickcos'
>>> settings.EXTRA_BASE
'/oneclickcos/'
>>> os.path.join(settings.VIRTUAL_ENV,settings.EXTRA_BASE)
'/oneclickcos/'
如您所想,我既不期望也不希望 'C:/Users/Marcin/Documents/oneclickcos' 和 '/oneclickcos/' 的串联成为 '/oneclickcos/'。
奇怪的是,再次反转路径组件显示 python 忽略了第一个路径组件:
>>> os.path.join(settings.EXTRA_BASE,settings.VIRTUAL_ENV)
'C:/Users/Marcin/Documents/oneclickcos'
虽然这会像预期的那样工作:
>>> os.path.join('/foobar',settings.VIRTUAL_ENV,'barfoo')
'C:/Users/Marcin/Documents/oneclickcos\\barfoo'
我当然是在 Windows (Windows 7) 上运行,使用本机 python。
为什么会发生这种情况,我该怎么办?
【问题讨论】:
标签: python windows path operating-system