python讀取檔案後詭異的\ufeff
阿新 • • 發佈:2019-01-03
1.python環境
python:win32 3.6.3版本
執行環境介紹:在python讀取txt文件的時候在首行會出現詭異的\ufeff,對比字串就會對比失敗
2.除錯程式碼
不多說上程式碼,要兌取的txt文件內容如下:
測試ufeff問題
python測試程式碼如下:上面程式的輸出結果如下:#coding=utf-8 filePath = r'C:\Users\xzp\Desktop\python\userConfig.txt' s='測試ufeff問題' with open(filePath,'r',encoding='utf-8') as dic: ## dic.read() for item in dic: if item.strip() == s: print('ok') print(item) print(s)
測試ufeff問題
測試ufeff問題
上面的輸入沒有ok。於是我進入了debugger看看那個變數的情況
除錯過後發現如下結果:
這個問題出現了!!!!!
3.解決方案:
#coding=utf-8 filePath = r'C:\Users\xzp\Desktop\python\userConfig.txt' s='測試ufeff問題' with open(filePath,'r',encoding='utf-8') as dic: ## dic.read() for item in dic: if item.encode('utf-8').decode('utf-8-sig').strip() == s: print('ok') print(item) print(s)
程式的輸出結果:
ok
測試ufeff問題
測試ufeff問題
問題解決,具體原理去百度下吧!