Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #29582

Re: portable way of locating an executable (like which)

From Gelonida N <gelonida@gmail.com>
Subject Re: portable way of locating an executable (like which)
Date 2012-09-21 01:07 +0200
References <k3g0h6$mtr$1@ger.gmane.org> <k3g2t5$ar2$1@ger.gmane.org> <CAPTjJmqDa8OxgnvPqK7X-OQk=4+DNuA8=-z5wAd8Nc_kKNvkRw@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.980.1348182445.27098.python-list@python.org> (permalink)

Show all headers | View raw


On 09/21/2012 12:21 AM, Chris Angelico wrote:
> On Fri, Sep 21, 2012 at 7:47 AM, Mark Lawrence <breamoreboy@yahoo.co.uk> 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.

Thanks,
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.



Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: portable way of locating an executable (like which) Gelonida N <gelonida@gmail.com> - 2012-09-21 01:07 +0200

csiph-web