R. David Murray <rdmur...@bitdance.com> added the comment:

I'm not sure why there isn't a review link for your patch.

"which(file..."

I don't think file is a good name.  'fn' or 'filename' or 'string' would all be 
better choices, I think.  'file' implies a Python file object (to me).  And 
"the give *file* command is called" just looks wrong.  "Yield the full path to 
the executables which could be run if the given *filename* were looked up...."

Wait, why are we even returning more than one result?  I don't see any use 
cases for that in the issue (though I admit I just skimmed it).  The unix which 
command doesn't.  Wanting only the first match is going to be far more common 
than wanting a list, so it should be the case supported most easily by the API. 
 If getting the complete list is useful, the API can be extended or a new 
function added later.

Then the motivation statement becomes clearer: "Yield the full path to the 
executables which would be run if the given *filename* were typed at the shell 
prompt or passed to the os.exec*p* functions."

Given that the function works on Windows, its behavior (looking in the current 
directory and in PATHEXT) should be documented.  And if that's not what exec*p* 
does on windows, that should be noted, I think (or fixed?)

I'm also not sure what the 'path' argument is for.  Does it have a use case?  
If not, drop it.

You are doing the PATHEXT extraction regardless of platform, which I don't 
think is a good idea.

This line appears to be useless:

   base = os.path.join(dir, file)

Per my suggestion of dropping the list form (at least for now), the yield 
should become a return, with the default return value of None indicating not 
found.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue444582>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to