展开全部
#coding=utf-8
'''
Created on 2014-11-17
@62616964757a686964616fe78988e69d8331333335343364author: Neo
'''
#0:equal
#1:path1 is sub folder of path2
#-1:path2 is sub folder of path1
#2: unrelated
def comparePath(path1, path2):
if not path1 or not path1:
return 2
path1Len = len(path1)
path2Len = len(path2)
if path1Len > path2Len:
longPath = path1
shortPath = path2
cmpFator = 1
else:
longPath = path2
shortPath = path1
cmpFator = -1
shortPathLen = len(shortPath)
longPathLen = len(longPath)
i = 0
j = 0
while i
c1 = shortPath[i]
c2 = longPath[j]
if isSlash(c1):
if not isSlash(c2):
return 2
while i
i += 1
while j
j += 1
else:
if c1 != c2:
if i == shortPathLen:
return cmpFator
else:
return 2
i += 1
j += 1
if i == shortPathLen:
if j == longPathLen:
return 0
while j
if not isSlash(longPath[j]):
return cmpFator
j += 1
return 0
else:
return 2
def isSlash(c):
return c == '/' or c == '\\'
print comparePath('C:/', 'C:/')
print comparePath('C:/', 'C:/Python27')
print comparePath('C:/Python27', 'C:')
print comparePath('C:/Python27', 'D:')
result:0
-1
1
2