[Python-Dev] subprocess insufficiently platform-independent?

Curt Hagenlocher curt at hagenlocher.org
Wed Aug 27 19:03:20 CEST 2008


On Wed, Aug 27, 2008 at 9:43 AM, Guido van Rossum <guido at python.org> wrote:
> On Tue, Aug 26, 2008 at 8:08 PM, Mark Hammond <mhammond at skippinet.com.au> wrote:
>>>
>>> Then it works on Linux, but fails on Windows because it does not
>>> perform the Windows %PATHEXT% search that allows it to find that
>>> "svn.exe" is the actual executable to be invoked.
>>
>> I can't reproduce this as described.
>
> Which Windows version? This sounds like one of those things that could
> well vary by Windows version; if it works for you in Vista it may well
> be broken in XP. It could also vary by other setup parameters besides
> PATHEXT.

When passing the executable name to CreateProcess via the
lpCommandLine parameter, PATH is considered but PATHEXT is ignored.
The only extension that's automatically appended is ".exe", and only
if no other extension is present. This has been true for as long as I
can remember.

I've found the documentation for CreateProcess
(http://msdn.microsoft.com/en-us/library/ms682425.aspx) to be pretty
reliable.  And the mention of a ".com" in the docs suggests that the
description has been around for a while...

--
Curt Hagenlocher
curt at hagenlocher.org


More information about the Python-Dev mailing list