Velocity Reviews

Velocity Reviews (
-   Python (
-   -   Re: portable way of locating an executable (like which) (

Gelonida N 09-20-2012 11:07 PM

Re: portable way of locating an executable (like which)
On 09/21/2012 12:21 AM, Chris Angelico wrote:
> On Fri, Sep 21, 2012 at 7:47 AM, Mark Lawrence <> wrote:
>> On 20/09/2012 22:06, Gelonida N 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.

>> Searching found nothing obvious to me :(

I was afraid so, but wanted to be sure
>>> If not, is there a portable way of splitting the environment variable
>>> PATH?

>> With os.sep ?

> os.sep is the directory separator, but os.pathsep may be what you
> want.

os.pathsep was the missing piece for portably splitting the searchpath

> Between that and os.getenv('path') you can at least get the
> directories. Then on Windows, you also need to check out
> os.getenv('pathext') and split _that_ on the semicolon, and try each
> of those as a file extension. I'm not sure whether or not Windows will
> add extensions from pathext if one is given on the command line - for
> instance, if typing "foo.exe" will search for "foo.exe.bat" - but the
> basics are there.

For what I am doing I can even skip trying the pathexts, the ext is
already given, but good to know :-)

> Alternatively, there may be a Win32 API funct5ion that does this.
> Would be worth a look.

Yeah true, but ideally I'd like to avoid platform detection and
just have a generic function.

All times are GMT. The time now is 03:47 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.