报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

时间:2022-08-08 20:19:34

Outline

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

读取pickle文件时,报了上述错误。

pickle文件路径是直接复制的,没毛病。

So 就比较困惑,最终在网上找到解决方法,遂作记录:

解决

报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

上图是报错信息,以及文件路径。

 

看似没什么问题,但最后发现问题还是出现在路径上;

因为在windows系统中,路径中的“\”会被转义;

例如配置一个路径:D:\source\t\xxx\a.txt,系统会把里边的“\t”转义成 tab 键,从而文件路径就不对了。

 

正确路径应该是:

第一种写法:D:\\source\\t\\xxx\\a.txt 

第二种写法:r"D:\source\t\xxx\a.txt"

第三种写法:D:/source/t/xxx/a.txt  # Linux中的路径写法

推荐第三种写法,因为此种方法在 Windows 和 Linux 下通用。