Unicode, stdout, and stderr

Frank Millman frank at chagford.com
Tue Jul 22 08:18:08 CEST 2014


Hi all

This is not important, but I would appreciate it if someone could explain 
the following, run from cmd.exe on Windows Server 2003 -

C:\>python
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit 
(In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x = '\u2119'
>>> x  # this uses stderr
'\u2119'
>>> print(x)  # this uses stdout
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\encodings\cp437.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2119' in 
position
0: character maps to <undefined>
>>>

It seems that there is a difference between writing to stdout and writing to 
stderr. My questions are -

1. What is the difference?

2. Is there an easy way to get stdout to behave the same as stderr?

Thanks

Frank Millman






More information about the Python-list mailing list