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

Discussion in 'Python' started by Gelonida N, Sep 21, 2012.

  1. Gelonida N

    Gelonida N Guest

    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.


    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.
    Gelonida N, Sep 21, 2012
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Gelonida N
    Replies:
    4
    Views:
    203
    Ramchandra Apte
    Sep 23, 2012
  2. Mark Lawrence
    Replies:
    0
    Views:
    162
    Mark Lawrence
    Sep 20, 2012
  3. Chris Angelico
    Replies:
    0
    Views:
    191
    Chris Angelico
    Sep 20, 2012
  4. Ian Kelly
    Replies:
    0
    Views:
    207
    Ian Kelly
    Sep 20, 2012
  5. Chris Angelico
    Replies:
    0
    Views:
    216
    Chris Angelico
    Sep 21, 2012
Loading...

Share This Page