1. 程式人生 > >Python讀取TXT檔案時出現“ufeff“字元

Python讀取TXT檔案時出現“ufeff“字元

Python讀取TXT檔案時出現“\ufeff“字元

文章目錄

問題描述:

目的: 在command.txt檔案中讀取文字,然後轉換成數字列表。

這是程式碼內容:


cmd = open("command.txt","rt",encoding = "UTF-8")
datals = []
for line in cmd:
    line = line.
replace("\n","") datals.append(line.split(",")) for ls in datals: print(ls)

報錯:

Traceback (most recent call last):
  File "C:\Users\DELL\AppData\Local\Programs\Python\Python37-32\AutoTraceDrew.pys.py", line 15, in <module>
    ls[i] = eval(ls[i])
  File "<string>", line 1
300 ^ SyntaxError: invalid character in identifier

原因:

經過測試通過以上方法打印出的第一行開頭出現“\ufeff”詭異字元。

通過查閱資料發現“\ufeff”叫BOM,用來宣告該檔案的編碼資訊。

所以需要去掉開頭的BOM,程式才能正常執行!!!

如何解決呢?

解決方案:

在讀取目標檔案時,指定編碼方式為“utf-8-sig”即可。其中“sig”全拼為“signature”,意味“帶有標籤的utf-8”。

cmd = open("command.txt","rt",encoding = "UTF-8-sig"
) #指定編碼方式為“utf-8-sig” datals = [] for line in cmd: line = line.replace("\n","") datals.append(line.split(",")) for ls in datals: print(ls)

如此就大功告成了!!!

我的問題解決了,你的呢?