python中trun是什么意思_Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun錯誤解決方案...

Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun錯誤解決方案

背景描述

今天在運用Python pillow模塊處理圖片時遇到一個錯誤SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

剛開始以為是圖片名字有中文,不識別,於是在python文件的頭部加上#-*- coding:utf-8 -*-

但是加完這個還是報錯,然后我就把圖片的中文去掉還成英文,然后報錯,一臉懵逼呀。后來在stackoverflow 上找到了類似的錯誤,原來是圖片路徑寫的 有問題,錯誤代碼如下im = Image.open('C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')

正確結果im = Image.open('C:\\Users\\FrankYuan\\Pictures\\Camera Roll\\WIN_20161010_08_51_57_Pro.jpg')

或者im = Image.open(r'C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')

抑或im = Image.open(r'C:/Users/FrankYuan/Pictures/Camera Roll/WIN_20161010_08_51_57_Pro.jpg')

原因:

window 讀取文件可以用\,但是在字符串中\是被當作轉義字符來使用,所以’d:\a.txt’會被轉義成’d:\a.txt’這是正確路徑,所以不會報錯。而‘C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg ’中經過轉義之后可能就找不到路徑的資源了,例如\t可能就轉義成tab鍵了。

解決辦法

python在描述路徑時可以有多種方式,現列舉常見的三種方式一:轉義的方式

'd:\\a.txt'

方式二:顯式聲明字符串不用轉義

'd:r\a.txt'

方式三:使用Linux的路徑/

'd:/a.txt'

我強烈推薦第三種寫法,這在Linux和window下都是行的通的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值