Hari Sekhon wrote: > I am writing a wrapper to a binary command to run it and then do > something with the xml output from it. > > What is the best way of making sure that the command is installed on the > system before I try to execute it, like the python equivalent of the > unix command "which"? > > Otherwise I'd have to do something like: > > if os.system('which somecommand') != 0: > print "you don't have %s installed" % somecommand > sys.exit(1) > > I know that isn't portable which is why a python solution would be > better (although this will run on unix anyway, but it'd be nice if it > ran on windows too).
IMHO this is pretty portable: >>> def is_on_path(fname): ... for p in os.environ['PATH'].split(os.pathsep): ... if os.path.isfile(os.path.join(p, fname)): ... return True ... return False HTH, Rob -- http://mail.python.org/mailman/listinfo/python-list