Can't redirect output

Robert Olney rolney at pcug.org.au
Sat Feb 24 01:50:33 CET 2001


"Chris Gonnerman" <chris.gonnerman at usa.net> wrote:

>From: "Robert Olney" <rolney at pcug.org.au>
>Subject: Can't redirect output
>> I am running Python 2.0 on Windows 98. When I try to redirect output
>> from a command prompt, e.g.
>> 
>> C:\> python hello.py > out.txt
>> 
>> the output is printed on the screen and not to the file. Why? 
>
>Is the output you are talking about from print commands and/or 
>sys.stdout.write(...) calls, or is it error messages?  Unix and Windows 
>processes have two standard channels for writing messages, stdout and
>stderr, which Python maps to sys.stdout and sys.stderr.  The redirection
>you show only redirects stdout/sys.stdout.
>
>On Unix (and reportedly Windows NT) you can write:
>
>    python hello.py >out.txt 2>errors.txt
>
>which separates the output channels, or
>
>    python hello.py >out.txt 2>&1
>
>to combine them in the file.  Unfortunately this does not work on Win9X,
>but there is a program available called stderr which combines the two 
>channels.  Get it from:
>
>    http://www.teaser.fr/~amajorel/stderr/
>
>IF NONE OF THIS HELPS YOU... please post your hello.py so we can
>inspect it.
>
>>The FAQ
>> mentions that this is a problem under Linux.
>
>I'll have to look at the FAQ, I'm not sure why Linux would have a problem 
>with it.
>
>
>
I am using normal print commands.

Hello.py:
print "Hello"

I have now found I can't redirect this under DOS (python 1.5.2)
either.

Robert.



More information about the Python-list mailing list