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


Groups > comp.lang.python > #29580

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

References <k3g0h6$mtr$1@ger.gmane.org> <k3g2t5$ar2$1@ger.gmane.org> <CAPTjJmqDa8OxgnvPqK7X-OQk=4+DNuA8=-z5wAd8Nc_kKNvkRw@mail.gmail.com>
From Ian Kelly <ian.g.kelly@gmail.com>
Date 2012-09-20 16:32 -0600
Subject Re: portable way of locating an executable (like which)
Newsgroups comp.lang.python
Message-ID <mailman.978.1348180394.27098.python-list@python.org> (permalink)

Show all headers | View raw


On Thu, Sep 20, 2012 at 4:21 PM, Chris Angelico <rosuav@gmail.com> wrote:
> os.sep is the directory separator, but os.pathsep may be what you
> want. 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.

Easy enough to test:

C:\>echo echo hello! > foo.exe.bat

C:\>foo.exe
hello!

Yup, it does.  It looks like it tries it without the extension first, though:

C:\>copy c:\windows\notepad.exe foo.exe
        1 file(s) copied.

C:\>foo.exe
[starts notepad]

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


Thread

Re: portable way of locating an executable (like which) Ian Kelly <ian.g.kelly@gmail.com> - 2012-09-20 16:32 -0600

csiph-web