472,111 Members | 1,935 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,111 software developers and data experts.

Stderr and Pythonw

Hi everyone,

I've seen this subject come up in another thread, but not getting
enough attention - so I'll just ask it:
When running python code via pythonw, what exactly happens to stderr?
I tried running code that, among else, writes to stderr - and at some
point I get an IOError claiming "Bad file descriptor".

Why is this happending?

Thanks in advance,

vm
Jul 18 '05 #1
3 2101
On 29 Jun 2004 12:25:58 -0700, vm*******@yahoo.com (vm_usenet) declaimed
the following in comp.lang.python:
When running python code via pythonw, what exactly happens to stderr?
You aren't invoking programs by typing "pythonw program.py" in a
command console window, are you?

pythonw was intended to be used for programs activated by
clicking on icons in Windows. As such, these programs are presumed to
have NO CONSOLE I/O, all I/O must be handled by the program creating a
window (GUI) or file and writing to that.

Since there is no console expected, none of the std***
connections are created.

-- ================================================== ============ <
wl*****@ix.netcom.com | Wulfraed Dennis Lee Bieber KD6MOG <
wu******@dm.net | Bestiaria Support Staff <
================================================== ============ <
Home Page: <http://www.dm.net/~wulfraed/> <
Overflow Page: <http://wlfraed.home.netcom.com/> <

Jul 18 '05 #2
On Wed, 30 Jun 2004 04:22:16 GMT, Dennis Lee Bieber
<wl*****@ix.netcom.com> wrote:
On 29 Jun 2004 12:25:58 -0700, vm*******@yahoo.com (vm_usenet) declaimed
the following in comp.lang.python:
When running python code via pythonw, what exactly happens to stderr?


You aren't invoking programs by typing "pythonw program.py" in a
command console window, are you?

pythonw was intended to be used for programs activated by
clicking on icons in Windows. As such, these programs are presumed to
have NO CONSOLE I/O, all I/O must be handled by the program creating a
window (GUI) or file and writing to that.

Since there is no console expected, none of the std***
connections are created.


This not really corrected.
Actually 'some' std*** connections are created but are usefulness
(and moreover they have a bug).

If you write more than 4096 an exception is raised...
Regards Manlio Perillo
Jul 18 '05 #3
Manlio Perillo wrote:
On Wed, 30 Jun 2004 04:22:16 GMT, Dennis Lee Bieber
<wl*****@ix.netcom.com> wrote:
On 29 Jun 2004 12:25:58 -0700, vm*******@yahoo.com (vm_usenet) declaimed
the following in comp.lang.python:
When running python code via pythonw, what exactly happens to stderr?


Since there is no console expected, none of the std***
connections are created.


This not really corrected.
Actually 'some' std*** connections are created but are usefulness
(and moreover they have a bug).

If you write more than 4096 an exception is raised...


And, for future reference, here is the bug report Manlio filed
on SourceForge (for which there is no response yet):

http://sourceforge.net/tracker/index...70&atid=105470

I've also confirmed this, using a test script very similar to one
Tim Peters posted a couple of months ago in
http://groups.google.ca/groups?selm=...t%40python.org

The problem is confirmed to still exist with Python 2.3.4.

-Peter
Jul 18 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Robin Becker | last post: by
1 post views Thread by Jo Schambach | last post: by
1 post views Thread by Roger Miller | last post: by
5 posts views Thread by Ron Garret | last post: by
3 posts views Thread by John Velman | last post: by
1 post views Thread by Lincoln Yeoh | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.