报错:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UX
这是python中指定路径的问题,因为Windows下的路径都是反斜杆(如上图所示),在很多编程语言中会不认识"\"
字符,可能会把它识别成转义字符(python就是把它当成了转义字符),如果按照Windows下的路径输入,代码运行就会出现上述的错误
这个错误有两种解决方法:
1. 在路径前面加一个r字母:让路径变成原始字符串,意思就是不让\n
,\t
等有特殊含义的影响指定的路径
imge=cv2.imread(r"C:\Users\Chengguo\Desktop\py_study\Alexnet\cifar_pictures\NO.0class6.jpg")
2. 在所有的反斜杠前面在加一条斜杠:意思是进行斜杠转义,目的也是排除\t
,\n
等的影响
imge=cv2.imread("C:\\Users\\Chengguo\\Desktop\\py_study\\Alexnet\\cifar_pictures\\NO.0class6.jpg")
这里注意一下,指定路径的话最好还是直接用正斜杠(不论是相对路径还是绝对路径),避免出现上述的错误
imge=cv2.imread("C:/Users/Chengguo/Desktop/py_study/Alexnet/cifar_pictures/NO.0class6.jpg")
字符串转义序列(Escape Sequences)
对于字符串转义序列,你需要再字符串中应用它们,确认自己清楚地知道它们的功能
桌面新建临时Excel文件——test.xlsx,绝对路径为‘C:\Users\liu19\Desktop\test.xlsx’
下面以五种路径方式读入python:
note:路径前加r,防止程序将 ‘\’ 当做转义字符
note:与方式一中加r的作用一样
小结:
总之,若只用 ‘\’ ,则一定要去除反斜杠的转义功能,要么在整体路径前面加r,要么使用双反斜杠。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。