Norton AV 2001 + popen + WinMe = crash

Tim Peters at
Wed Jul 25 23:06:17 CEST 2001

[Kirby Urner]
> So how does IDLE invoke the browser if not with popen and if
> it uses popen, then why can't I from the IDLE shell?  The kind
> of question that keeps me up at night.

[David Bolen]
> At least this can be answered by looking at the source, and let you
> get some sleep :-)
> It looks like IDLE uses either the standard library webbrowser module
> (2.1+) or some internal browser support in the
> module (2.0) to launch the browser.
> Under Windows, this is accomplished using the ShellExecute() win32 api
> call (in 2.0 via the win32api module, or via the os.startfile()
> library function in 2.1+).
> So there's no popen() involved.

Almost all correct.  Thanks, David!  The 2.0 truth is hairier than it looks,
because win32api doesn't ship with the base Python distribution:  2.0 also
uses webbrowser and os.startfile(), and indeed the latter function was
introduced at the last second for 2.0 precisely so that IDLE wouldn't have
to use MS popen().

More information about the Python-list mailing list