002_022 Python 计算目录间的相对路径

来源:互联网 发布:机械联结烙印矩阵 编辑:程序博客网 时间:2024/05/21 16:09

代码如下:

#encoding=utf-8print '中国'#计算目录间的相对路径import os,itertoolsdef all_equal(elements):    first_element = elements[0]    for other_element in elements[1:]:        if other_element != first_element : return False    return Truedef common_prefix(*sequences):    if not sequences: return[],[]    common = []    for elements in itertools.izip(*sequences):        if not all_equal(elements):break        common.append(elements[0])    return common,[sequence[len(common):] for sequence in sequences]def relpath(p1,p2, sep=os.path.sep, pardir=os.path.pardir):    common,(u1,u2) = common_prefix(p1.split(sep),p2.split(sep))    if not common:        return p2        return sep.join([pardir] * len(u1) + u2)print relpath(r'D:/a/b/c',r'D:/a/b/d',r'/')    

打印结果如下:

中国
False
../d

0 0
原创粉丝点击