SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
在运行python文件的时候竟然报“SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape”这个错误,其实引起这个错误的原因就是转义的问题。
举个例子,在文件中我传入的文件路径是这样的:
q_path = "C:\Users\青尘\Desktop\南航电网项目\问答机器人\corpus\dnn\recall\Q.txt"
原因分析:
在windows系统当中读取文件路径可以使用,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。目前有3个解决方案
解决办法:
1.在路径前面加r,即保持字符原始值的意思。
q_path = r"C:\Users\青尘\Desktop\南航电网项目\问答机器人\corpus\dnn\recall\Q.txt"
2.替换为双反斜杠。
q_path = "C:\\Users\\青尘\Desktop\\南航电网项目\\问答机器人\\corpus\\dnn\\recall\\Q.txt"
3.替换为正斜杠。
q_path = r"C:/Users/青尘/Desktop/南航电网项目/问答机器人/corpus/dnn/recall/Q.txt"