print vs sys.stdout.write, and UnicodeError
Brent Lievers
3wbl at qlink.queensu.ca
Thu Oct 25 13:37:01 EDT 2007
Greetings,
I have observed the following (python 2.5.1):
>>> import sys
>>> print sys.stdout.encoding
UTF-8
>>> print(u'\u00e9')
é
>>> sys.stdout.write(u'\u00e9\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in
position 0: ordinal not in range(128)
Is this correct? My understanding is that print ultimately calls
sys.stdout.write anyway, so I'm confused as to why the Unicode error
occurs in the second case. Can someone explain?
Thanks,
Brent
More information about the Python-list
mailing list