About print exception message

Jean-Paul Calderone exarkun at divmod.com
Thu Oct 9 09:46:19 EDT 2008


On Thu, 9 Oct 2008 06:37:04 -0700 (PDT), WaterWalk <toolmaster at 163.com> wrote:
>Until Python 2.5, the exception object still uses ansi string.  Thus,
>in the following example:
>
>f = open(u"\u6d4b.log")
>
>Suppose the file to open does not exist, the output message of the
>exception maybe like:
>[Errno 2] No such file or directory: u'\u6d4b.log'
>
>This is not a clear message.

I disagree.  But if you'd rather see the character (or a replacement character,
or possibly an empty box, depending on your environment's text rendering
capabilities), it's a bit easier than writing that big function:

>>> try: open(u'\N{WHITE SMILING FACE}')
... except IOError, e: print str(e).decode('unicode-escape')
... 
[Errno 2] No such file or directory: u'☺'
>>> 

Jean-Paul



More information about the Python-list mailing list