On 09/21/2012 12:04 AM, Jason Swails wrote:

Thanks a lot Jason,


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).

I'll try it, the script looks reasonably portable (using os.pathsep)
to really replicate which I had probably to add os.getenv('pathext')
as Chris mentioned.
However for my current use case this is not necessarily required.

HTH,
Jason





--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to