1 錯誤信息
python文件
1 #coding:utf-8
2
3 class Clz:
4 def func(filePath):
5 """
6 func
7 -----
8 :param filePath : like -> D:\xx\yy\zz.txt
9 """
File "E:/workspace/PyDemo20190618/../Clz.py", line 9
"""
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 669-670: truncated \xXX escape
2 分析原因
-
文件自身編碼與文件首行聲明的編碼不一致。
-
函數下方的注釋區或者文件其它區域(""" ...""") 存在對【含斜下划線,即 轉義字符)】的描述,導致python編譯器編譯時出錯。【此點,較為難發現、排除,亦系撰寫本博客的本質原因】
【深層次原因(不完全確定)】在Python中 \ 是轉義符,\u表示其后是UNICODE編碼,在編譯階段,python編譯器與正則表達式語法發生沖突。因此,在第9行會報錯。
解決辦法1:單斜下划線(轉義字符)【\】換為雙斜下划線【\\】
解決辦法2:在字符串前面加個【r】符(rawstring 原生字符串)
以此避免python與正則表達式語法的沖突。
