Re: python.exe vs pythonw.exe difference?

Discussion in 'Python' started by Thomas Heller, Mar 2, 2004.

  1. "Tim Peters" <> writes:

    > [moving this from comp.lang.python to zope-dev; it really belongs on a
    > Zope list, although schemes to change what pythonw does probably belong
    > on python-dev]


    [I'm currently reading python-list via the gmane nntp interface, I don't
    know whether there really is a gmane.comp.web.zope.devel newsgroup]

    > [Thomas Heller]
    >> It has been reported that writing to the original sys.stdout (and
    >> maybe also sys.stderr) sooner or later raises an IOError when running
    >> pythonw.exe, unless these are redirected. Could this be the problem?

    >
    > It could, although I have no idea what WinXP does (and don't have access to
    > XP). Here's a Python program to try:
    >
    > """
    > import sys
    > if 1: # edit to 1 for stdout, 0 for stderr
    > console = sys.stdout
    > else:
    > console = sys.stderr
    >
    > import traceback
    > tb = file('tb.txt', 'w')
    >
    > try:
    > i = 0
    > while True:
    > i += 1
    > console.write('.')
    > except:
    > print >> tb, "Died when trying to write byte", i
    > traceback.print_exc(file=tb)
    > tb.close()
    > """
    >
    > Under Win98SE, and regardless of whether it writes to stdout or stderr, it
    > dies when run under pythonw, and tb.txt contains this after:
    >
    > Died when trying to write byte 4097
    > Traceback (most recent call last):
    > File "wr.py", line 14, in ?
    > console.write('.')
    > IOError: [Errno 9] Bad file descriptor


    I get exactly the same, on Win XP Pro, both for sys.stdout and sys.stderr.

    > The point of pythonw.exe is that no console is created or inherited, and the
    > default stdin, stdout and stderr provided by MS C in that case are unusable
    > (although the output flavors can appear to be usable until some secret MS
    > limit is exceeded -- at least under Win98SE).


    Since it seems XP shows the same behaviour than win98SE, has the
    behaviour of Python changed? Were IOErrors ignored on sys.stdout or
    sys.stderr in earlier versions?

    IIRC, /F first proposed that pythonw.exe should create a console to have
    a place to show tracebacks. Sounds like a good idea to me.

    Thomas
    Thomas Heller, Mar 2, 2004
    #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. Emile van Sebille

    python.exe vs pythonw.exe difference?

    Emile van Sebille, Mar 1, 2004, in forum: Python
    Replies:
    0
    Views:
    1,184
    Emile van Sebille
    Mar 1, 2004
  2. Tim Peters
    Replies:
    0
    Views:
    545
    Tim Peters
    Mar 2, 2004
  3. Tim Peters
    Replies:
    1
    Views:
    6,429
    Bengt Richter
    Mar 3, 2004
  4. Thomas Heller

    Re: python.exe vs pythonw.exe difference?

    Thomas Heller, Mar 2, 2004, in forum: Python
    Replies:
    0
    Views:
    394
    Thomas Heller
    Mar 2, 2004
  5. Emile van Sebille

    Re: python.exe vs pythonw.exe difference?

    Emile van Sebille, Mar 2, 2004, in forum: Python
    Replies:
    0
    Views:
    375
    Emile van Sebille
    Mar 2, 2004
Loading...

Share This Page