On Thu, Jul 28, 2011 at 2:18 PM, gry <georgeryo...@gmail.com> wrote: > [python 2.7] I have a (linux) pathname that I'd like to split > completely into a list of components, e.g.: > '/home/gyoung/hacks/pathhack/foo.py' --> ['home', 'gyoung', > 'hacks', 'pathhack', 'foo.py'] > > os.path.split gives me a tuple of dirname,basename, but there's no > os.path.split_all function. > > I expect I can do this with some simple loop, but I have such faith in > the wonderfulness of list comprehensions, that it seems like there > should be a way to use them for an elegant solution of my problem. > I can't quite work it out. Any brilliant ideas? (or other elegant > solutions to the problem?)
path = '/home/gyoung/hacks/pathhack/foo.py' parts = [part for path, part in iter(lambda: os.path.split(path), ('/', ''))] parts.reverse() print parts But that's horrendously ugly. Just write a generator with a while loop or something. -- http://mail.python.org/mailman/listinfo/python-list