Redirecting Python stdout ,stderr and stdin
Jan knob
nospam at nospam.yes
Mon Nov 24 05:14:32 EST 2003
On 24 Nov 2003 02:02:50 +0000, Alexander Schmolck <a.schmolck at gmx.net>
wrote:
>"Serge Orlov" <sombDELETE at pobox.ru> writes:
>
>> "Alexander Schmolck" <a.schmolck at gmx.net> wrote in message news:yfssmke8vl0.fsf at black132.ex.ac.uk...
>> > Jan Knop <nospam at nospam.yes> writes:
>> >
>> > > Hello
>> > >
>> > > I am writing a Windows application where I need to redirect stdin,
>> > > stdout and stderr from Python. to my application
>> > > Is it a simple way of do it ?
>> >
>> > import sys
>> > sys.stdin, sys.stderr, sys.stdout = map(open, 'in.txt err.txt out.txt'.split(),
>> > 'r w w'.split())
>>
>> That is why map should be deprecated asap ;)
>>
>> sys.stdin = open("in.txt")
>> sys.stdout = open("out.txt","w")
>> sys.stderr = open("err.txt","w")
>
>The obfuscation in the above example was intended not to immediately overwhelm
>the OP (who expected having to use some winsock thingy) with simplicitly and
>clarity, but now you've spoilt it.
>
>
>'as
Hi
Actually that what I wat in the end is a method for subsclassing the
python stdio's into my application window. This means that Python runs
in background with all threes stdio streams redirected .
This is I believe somehow done in the Komodo program from
ActiveState
As far as I have found out You need to define a Input and output
class and imlement Read Readline , Write and WriteLine method in
these classes.
Otherwise it will be necessary to somehow capture the Stdin stdout
streams from python console and redirect them .
with regards
Jan
More information about the Python-list
mailing list