Blog Archives

SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position truncated \UXXXXXXXX escape

This is a common error in python when you are reading from a file and have specified a file path String. You can usually fix this by placing an ‘r’ in the front of your string to change it to a raw string.

Before fix (code has the issue)

book = epub.read_epub("C:\Users\ronni\Desktop\ebook\Frankenstein.epub")

After fix (issue is resolved)

book = epub.read_epub(r"C:\Users\ronni\Desktop\ebook\Frankenstein.epub")

Explanation

Python interprets “\” within a string as a special escape character. In this example, the \U in position 2-3 is a unicode escape character. Adding ‘r’ instructs the python interpreter to instead treat the string as a raw literal.

References

https://blog.softhints.com/python/

https://www.askpython.com/python/string/python-raw-strings

https://docs.python.org/3/reference/lexical_analysis.html