Please help me finding a way to implement os.path.issubpath(a, b)
Diez B. Roggisch
deets at nospam.web.de
Thu Sep 11 14:09:06 EDT 2008
Giampaolo Rodola' schrieb:
> Hi,
> I'm trying to implement a function which returns whether a path is a
> subpath of another one (e.g. /a/b/c is a subpath of /a/b).
> I wrote this function which apparently seems to work fine:
>
> import os
>
> def issubpath(path1, path2):
> """Return True if path1 is a sub path of path2."""
> if path1 == path2:
> return False
> x1 = path1.split(os.sep)
> x2 = path2.split(os.sep)
> return x1[:len(x2)] == x2
>
> ...but if I use "issubpath('C:\\dir', 'C:\\')" it returns False.
> A little help would be appreciated.
Any reason why
os.path.normpath(a).startswith(os.normpath(b)) doesn't do the trick?
Diez
More information about the Python-list
mailing list