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

2021-09-01 16:03:33 字數 1128 閱讀 9461

問題描述:

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

這是**內容:

cmd =

open

("command.txt"

,"rt"

,encoding =

"utf-8"

)datals =

for line in cmd:

line = line.replace(

"\n",""

)","))

for ls in datals:

print

(ls)

報錯:

traceback (most recent call last)

:, line 15,in

ls[i]

=eval

(ls[i]

) file ""

, 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",""

)","))

for ls in datals:

print

(ls)

如此就大功告成了!!!

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

Python 讀取TXT檔案

一 開啟檔案 f open filename,access mode r buffering 1 filename 檔名 access mode 開啟方式,r讀,w寫,a追加,r w a 都是以讀寫方式開啟,rb二進位制讀,wb二進位制寫,rb wb ab 二進位制讀寫 buffering 預設值 ...

python 讀取txt檔案

txt檔案內容 1.全部讀取 file open e others 測試.txt r 開啟檔案 f all file.read 讀取所有檔案內容 print f all file.close 關閉檔案結果 2.按行讀取 file open e others 測試.txt r 開啟檔案 for lin...

python 讀取txt 檔案

filename users sr00117 desktop bom1.txt txt檔案和當前指令碼在同一目錄下,所以不用寫具體路徑 def readtxt valuelist all list alone list with open filename,r as file to read for...