"Martin v. Löwis"
martin at v.loewis.de
Tue Nov 23 00:24:09 CET 2004
Bengt Richter wrote:
> So, bottom line, as Wolfgang effectively asked by his example, why does print try to coerce
> the __str__ return value to ascii on the way to the ouput encoder, when there is encoding info
> in the unicode object that it is happy to defer reencoding of for sys.stdout.encoding?
[See my other posting:]
Because print invokes str() on its argument, unless the argument is
already a byte string (in which case it prints it directly), or a
Unicode string (in which case it encodes it with the stream encoding).
It is str(y) that fails, not the printing.
More information about the Python-list