Peng Yu
2009-Nov-06 15:36 UTC
[R] Is there a function that can test if a path is in a directory or one of its sub-directory (recursively)?
On Fri, Nov 6, 2009 at 12:49 AM, Gabriel Genellina <gagsl-py2 at yahoo.com.ar> wrote:> En Fri, 06 Nov 2009 00:53:14 -0300, Chris Rebert <clp2 at rebertia.com> > escribi?: >> >> On Thu, Nov 5, 2009 at 7:41 PM, Peng Yu <pengyu.ut at 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.Just to add one more comment. There are other corner cases where there is a symbolic link in the path. 'abspath()' may not be good for the corner cases.
Seemingly Similar Threads
- Bug#502123: [PATCH] Re: xen-hypervisor-unstable-amd64: Post update from 3.2 -> 3.3, initrd which previously worked fails
- Bug#502123: xen-utils-unstable: Debian patch breaks paravirtualized guest initrd
- Get phone number from SIP header PAI
- [RFC] Python 2 / Python 3 status, final step(s)
- [LLVMdev] [cfe-dev] Unicode path handling on Windows