On Thu, Sep 20, 2012 at 5:06 PM, Gelonida N <[email protected]> wrote:
> I'd like to implement the equivalent functionality of the unix command
> /usr/bin/which
>
> The function should work under Linux and under windows.
>
> Did anybody already implement such a function.
> If not, is there a portable way of splitting the environment variable PATH?
>
I've used the following in programs I write:
def which(program):
def is_exe(fpath):
return os.path.exists(fpath) and os.access(fpath, os.X_OK)
fpath, fname = os.path.split(program)
if fpath:
if is_exe(program):
return program
else:
for path in os.getenv("PATH").split(os.pathsep):
exe_file = os.path.join(path, program)
if is_exe(exe_file):
return exe_file
return None
IIRC, I adapted it from StackOverflow. I know it works on Linux and Mac OS
X, but not sure about windows (since I don't know if PATH works the same
way there).
HTH,
Jason
--
http://mail.python.org/mailman/listinfo/python-list