1. 程式人生 > >Python 中 'unicodeescape' codec can't decode bytes in position XXX escape錯誤解決方案

Python 中 'unicodeescape' codec can't decode bytes in position XXX escape錯誤解決方案

該錯誤乍看之下是編碼錯誤,實際上是跟路徑寫法有關。
在python中反斜槓“\”不是單純的一個符號,它代表轉義,當他和後面的字元結合起來,會有其他特別的意思,比如\n表示換行,\t表示製表符,python中一些特殊的符號比如下劃線_, 橫槓-,前面都要加個反斜槓,這樣才表示該符號本身,包括反斜槓自己,必須寫成雙反斜槓:“\ \”,才表示一個反斜槓符號本身。

所以,當你在py檔案中要表示一個路徑的時候,由三種方法:1、要麼用雙反斜槓,2、要麼用r" ",去除轉義,3、要麼不用反斜槓,用斜槓/ 表示。這裡強烈建議用第三種,在windows和linux下都能正確識別。

舉例如下:
1:用雙反斜槓表示路徑

dst_file = open(“C:\ \Users\ \Administrator\ \Desktop\ \2.txt”,“w”)

2:用r 去除轉義,表示路徑
dst_file = open(r"C:\Users\Administrator\Desktop\2.txt",“w”)

3:直接用斜槓/ 表示路徑, 簡單方便,建議使用!
dst_file = open(“C:/Users/Administrator/Desktop/2.txt”,“w”)