On Thu, Nov 5, 2009 at 10:49 PM, Gabriel Genellina <gagsl-...@yahoo.com.ar> wrote: > En Fri, 06 Nov 2009 00:53:14 -0300, Chris Rebert <c...@rebertia.com> > escribió: >> On Thu, Nov 5, 2009 at 7:41 PM, Peng Yu <pengyu...@gmail.com> wrote: >>> I looked though the os.path manual. I don't find a function that can >>> test if a path is in a directory or its sub-directory (recursively). >>> >>> For example, /a/b/c/d is in /a its sub-directory (recursively). Could >>> somebody let me know if such function is available somewhere? >> >> Couldn't you just canonicalize the paths using os.path.abspath() and >> friends and then do subdirectory.startswith(parent_directory) [as >> strings]? > > Beware of directories starting with the same letters. > I'd canonicalize, split the strings on os.sep, and compare the resulting > lists up to the shortest one.
Ah, I thought there was some edge case I must've missed; my solution seemed too simple. Cheers, Chris -- http://mail.python.org/mailman/listinfo/python-list