OK let me rephrase, the standard error stream (and if I'm not mistaken also the one that PyErr_Print() writes to) is the python object sys.stderr. Now say I'd go ahead and write the following in python...
SomeNewStreamOrFileOrWhateverItIs = new stream sys.stderr = SomeNewStreamOrFileOrWhateverItIs I can go ahead and do the exact same thing from the C source code. All I need to do is to figure out how to wrap a c-style FILE* with a PyObject, And PySys_SetObjet("stderr", newstream); I'm very new to python so that might be nonsense but it appeals to my programmer's common sense. Can anyone tell me how to do this? "Michael Hudson" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > "Ira" <[EMAIL PROTECTED]> writes: > > > Using an embedded interpreter, how do I change it's default output > > streams (specifically the one used by PyErr_Print() which I'm > > guessing is the default error stream)? > > It looks as though it writes to stderr unconditionally. But most of > the reasons for ended up in PyErr_Print can be intercepted at a higher > level (I think -- I mean sys.excepthook & co here). > > Cheers, > mwh > > -- > ARTHUR: Yes. It was on display in the bottom of a locked filing > cabinet stuck in a disused lavatory with a sign on the door > saying "Beware of the Leopard". > -- The Hitch-Hikers Guide to the Galaxy, Episode 1 > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list