def which(self, executable):<EOL>
sub_which = operator.methodcaller("<STR_LIT>", executable)<EOL>filtered = (sub_which(self.get_path(k)) for k in self.path_order)<EOL>return next(iter(f for f in filtered if f is not None), None)<EOL>
Search for an executable on the path.

:param executable: Name of the executable to be located.
:type executable: str
:returns: :class:`~pythonfinder.models.PathEntry` object.