(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
    评论
当你在Python中遇到这个错误"SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape"时,它通常是由于字符串中的转义字符引起的。这个错误表示Python无法正确解码这些转义字符。为了解决这个问题,你可以尝试以下三种方法: 1. 使用双斜杠(\\)代替单斜杠(\):在包含转义字符的字符串中,将单斜杠(\)更改为双斜杠(\\)。这样做是因为单斜杠在Python中被用作转义字符,所以如果你想要在字符串中使用一个普通的斜杠,你需要使用两个斜杠来表示。例如,将"\U"更改为"\\U"。 2. 使用原始字符串(Raw String):原始字符串是以字母"r"或"R"开头的字符串。在原始字符串中,转义字符将被视为普通字符,而不是转义字符。你可以通过在字符串前面添加"r"来创建原始字符串。例如,将"\U"更改为r"\U"。 3. 使用正斜杠(/)或双斜杠和正斜杠(/)的混合:在某些情况下,你可以使用正斜杠(/)代替单斜杠(\)。这样做可以避免转义字符的问题。另外,你也可以在字符串中混合使用双斜杠和正斜杠。例如,将"\U"更改为"/U"或"\\U"。 通过尝试以上方法,你应该能够解决这个错误并成功运行你的Python代码。希望这能帮到你!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ (unicode error) ‘unicodeescapecodec can’t decode bytes in position 2-3: truncated](https://blog.csdn.net/yuan2019035055/article/details/126368281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: ...](https://blog.csdn.net/weixin_30522183/article/details/95579461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值