def _iexplode_path(path):
(head, tail) = os.path.split(path)<EOL>if not head or (not tail and head == path):<EOL><INDENT>if head:<EOL><INDENT>yield head<EOL><DEDENT>if tail or not head:<EOL><INDENT>yield tail<EOL><DEDENT>return<EOL><DEDENT>for p in _iexplode_path(head):<EOL><INDENT>yield p<EOL><DEDENT>yield tail<EOL>
Iterate over all the parts of a path.

    Splits path recursively with os.path.split().