“Unicode Error “unicodeescape” codec can’t decode bytes… Cannot open text files in Python 3
Posted By: Anonymous
I am using Python 3.1 on a Windows 7 machine. Russian is the default system language, and utf-8 is the default encoding.
Looking at the answer to a previous question, I have attempting using the "codecs" module to give me a little luck. Here’s a few examples:
>>> g = codecs.open("C:UsersEricDesktopbeeline.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated U✘✘✘✘✘✘XX escape (<pyshell#39>, line 1)
>>> g = codecs.open("C:UsersEricDesktopSite.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated U✘✘✘✘✘✘XX escape (<pyshell#40>, line 1)
>>> g = codecs.open("C:Python31Notes.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 11-12: malformed N character escape (<pyshell#41>, line 1)
>>> g = codecs.open("C:UsersEricDesktopSite.txt", "r", encoding="utf-8")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated U✘✘✘✘✘✘XX escape (<pyshell#44>, line 1)
My last idea was, I thought it might have been the fact that Windows "translates" a few folders, such as the "users" folder, into Russian (though typing "users" is still the correct path), so I tried it in the Python31 folder. Still, no luck. Any ideas?
Solution
The problem is with the string
"C:UsersEricDesktopbeeline.txt"
Here, U
in "C:Users
… starts an eight-character Unicode escape, such as U00014321
. In your code, the escape is followed by the character ‘s’, which is invalid.
You either need to duplicate all backslashes:
"C:\Users\Eric\Desktop\beeline.txt"
Or prefix the string with r
(to produce a raw string):
r"C:UsersEricDesktopbeeline.txt"
Answered By: Anonymous
Disclaimer: This content is shared under creative common license cc-by-sa 3.0. It is generated from StackExchange Website Network.