Question

I am debugging a complex issue and need to see the content of structured variable named context. Attempt to print it with this code fails:

print(repr(context))

With error message:

UnicodeEncodeError: 'charmap' codec can't encode character '\xb6' in position
2336: character maps to <undefined>

What is the reliable way to print structured variables to the screen for debug in Python 3?

Was it helpful?

Solution

Use built-in ascii:

print(ascii(context))

It works similarly to repr in Python 2.

>>> ascii('\xb6')
"'\\xb6'"

>>> repr('\xb6')
"'¶'"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top