(unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: truncated \UXXXXXXXX esc

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

用python代码读取桌面文件时报此错误,是由于转义字符的问题。

与其他语言中类似,在python中, ‘\’ 是转义字符。在路径中使用 ‘\’ 时应特别注意。一般用以下3种方法避免错误:
①在字符串前加 r 进行声明:

load_file(r'C:\Users\Administrator\Desktop\data.txt')

②替换为双反斜杠 ‘\\’

load_file('C:\\Users\\Administrator\\Desktop\\data.txt')

③替换为正斜杠 ‘/’

load_file('C:/Users/Administrator/Desktop/data.txt')

但是仍然报错怎么办?

笔者昨天在进行编码时候就遇到了这样的问题!
笔者的代码中并没有用到反斜杠 ‘\’,路径是在终端中作为参数传到程序中的:

#终端中输入为:python D:\python\cal_mat.py C:\Users\Administrator\Desktop\data1.txt
if __name__ == "__main__":
    file = os.sys.argv[1]
    mat = file_to_mat_list(file)

代码中本身并没有反斜杠 ‘\’,却一直报错!
无奈将函数一个个地删掉后,最后发现竟是如下注释部分的问题!

'''
python D:\python\cal_mat.py C:\Users\Administrator\Desktop\data1.txt
'''

笔者习惯在代码的最后放上在终端中运行此代码的命令,类似上面的格式,方便下次用到的时候进行修改。可就是此注释部分导致了最后的报错。
用下面的注释方式则不会报错:

#python D:\python\cal_mat.py C:\Users\Administrator\Desktop\data1.txt

结论

代码中出现的 ‘\U’ ,无论在路径中中还是在引号注释中,都会出现如题的错误。在引号注释外用#注释则不会报错!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值