请问给定一个路径,我能回退到上一层吗?支持"..\"这种操作吗?

请问给定一个路径,我能回退到上一层吗?支持"..\"这种操作吗?

path = os.getenv("VS71COMNTOOLS")
得到path = E:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\
怎么把 \Tools\ 换成 \IDE\  ?

我想回退到上一层目录然后再加上 IDE\
请问如何实现?

在perl中可以这样实现:
my $vs_path = $ENV{"VS71COMNTOOLS"} . "..\\IDE";
python中没有perl相应的用法,可以这样:

[Copy to clipboard] [ - ]
CODE:
import os.path
path = os.path.join(os.path.dirname(os.getenv("VS71COMNTOOLS")), 'IDE')

这样实现不是我要的。我是要把\Tools\ 换成 \IDE\。而不是添加
path = os.getenv("VS71COMNTOOLS")
path_new = '\\'.join(path.split('\\')[:-2])+'\\IDE\\'
这样可以实现,不过相比perl的代码来讲就复杂了些
你没有运行,你怎么知道不对呢?
你的回帖让我更佩服limodou。我没技术上没limodou厉害,为人也不象他那么乐意回答一些自己认为很简单的问题,虽然偶尔也会回答一下。


QUOTE:
原帖由 limodou 于 2006-8-15 19:54 发表
你没有运行,你怎么知道不对呢?

import os.path
path = os.path.join(os.path.dirname(os.getenv("VS71COMNTOOLS")), 'IDE')
print path

结果为:
>>> ================================ RESTART ================================
>>>
E:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\IDE

我在python 2.4 ide 里运行的结果如上
我知道了。因为你的路径最后有一个\,所以使用dirname()时得不到你想要的结果。如果没有\就可以了。


QUOTE:
原帖由 limodou 于 2006-8-16 10:09 发表
我知道了。因为你的路径最后有一个\,所以使用dirname()时得不到你想要的结果。如果没有\就可以了。

嗯。这个问题我已经解决了。谢谢大家的帮忙