list comprehension to do os.path.split_all ?
Ian Kelly
ian.g.kelly at gmail.com
Thu Jul 28 17:04:52 EDT 2011
On Thu, Jul 28, 2011 at 2:47 PM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
> On Thu, Jul 28, 2011 at 2:44 PM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
>> 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.
>
> Also, note that if the path does not start with '/', the result will
> be an infinite loop.
Oh, and this won't work at all in Python 3, because it relies on the
lambda having access to the list comprehension scope.
More information about the Python-list
mailing list