Routing sys.stdout.write (print)
Justin Sheehy
dworkin at ccs.neu.edu
Mon Jul 17 20:10:15 EDT 2000
More information about the Python-list mailing list
Mon Jul 17 20:10:15 EDT 2000
- Previous message (by thread): Event set/clear/wait
- Next message (by thread): Routing sys.stdout.write (print)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Joseph Betz <betz at bmi.net> writes: > I'm getting unexpected results from the following code: > > import sys > from sys import stdout > x = stdout > > class Writer > def write(self, string): > x.write(': ' + string) > sys.stdout = Writer() > print "Ni!" > x.write('Ni!\n') > > The output I'm getting is: > > : Ni!: > Ni! > > I am looking for a solution so that the second colon isn't in the > output. A good solution > may be very different then the code I have here. This is due to the implementation of the print statement, which effectively calls sys.stdout.write a separate time for the trailing newline. If you use sys.stdout.write() directly instead of the print statement, you won't have this problem. -Justin
- Previous message (by thread): Event set/clear/wait
- Next message (by thread): Routing sys.stdout.write (print)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list