Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #29580
| 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) |
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
Re: portable way of locating an executable (like which) Ian Kelly <ian.g.kelly@gmail.com> - 2012-09-20 16:32 -0600
csiph-web