best way of testing a program exists before using it?

Steve Holden steve at holdenweb.com
Mon Sep 11 11:21:04 EDT 2006


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).
> 
The easiest way to test whether the command will run is to try and run 
it. If the program doesn't exist then you'll get an exception, which you 
can catch. Otherwise you'll be stuck with non-portable mechanisms for 
each platform anyway ...

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




More information about the Python-list mailing list