Rob Wolfe wrote: > 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 > Except that the fname will then have to be a ".exe" on Windows and not on Unix.
regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list