Python 解決OPEN讀文件報錯 ,路徑以及r的問題
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')
正確結(jié)果
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 讀取文件可以用\,但是在字符串中\(zhòng)是被當(dāng)作轉(zhuǎn)義字符來使用,所以'd:\a.txt'會被轉(zhuǎn)義成'd:\a.txt'這是正確路徑,所以不會報錯。而‘C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg '中經(jīng)過轉(zhuǎn)義之后可能就找不到路徑的資源了,例如\t可能就轉(zhuǎn)義成tab鍵了。
解決辦法
python在描述路徑時可以有多種方式,現(xiàn)列舉常見的三種
方式一:轉(zhuǎn)義的方式 'd:\\a.txt' 方式二:顯式聲明字符串不用轉(zhuǎn)義 'd:r\a.txt' 方式三:使用Linux的路徑/ 'd:/a.txt'
我強烈推薦第三種寫法,這在Linux和window下都是行的通的。
以上這篇Python 解決OPEN讀文件報錯 ,路徑以及r的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
文章詳細(xì)介紹了在python2.5環(huán)境下,如何使用urllib2這個python自帶的組件進行抓取指定網(wǎng)頁內(nèi)容的,整個過程記錄的非常的詳細(xì),也很簡單,有需要的朋友可以參考下,寫出自己的python爬蟲2014-11-11
完美解決torch.cuda.is_available()一直返回False的玄學(xué)方法
這篇文章主要介紹了完美解決torch.cuda.is_available()一直返回False的玄學(xué)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Python數(shù)據(jù)處理pandas讀寫操作IO工具CSV解析
這篇文章主要為大家介紹了Python?pandas數(shù)據(jù)讀寫操作IO工具之CSV使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進行數(shù)據(jù)分析圖文詳解
這篇文章主要介紹了PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進行數(shù)據(jù)分析圖文詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
opencv3/python 鼠標(biāo)響應(yīng)操作詳解
今天小編就為大家分享一篇opencv3/python 鼠標(biāo)響應(yīng)操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
解決CentOS下ImportError: No module named &a
這篇文章主要介紹了解決CentOS下ImportError: No module named '_sqlite3'的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

