為什麼我的 Python 程式碼在讀取檔案時會拋出 UnicodeDecodeError?

Mary-Kate Olsen
發布: 2024-11-03 12:17:02
原創
361 人瀏覽過

Why Does My Python Code Throw a UnicodeDecodeError When Reading Files?

Python 中的解碼錯誤:轉換位元組時出現UnicodeDecodeError

Python 中處理字串時遇到的常見錯誤是指嘗試解碼時出現UnicodeDecodeError使用UTF-8 編解碼器的位元組。當 Python 嘗試將位元組數組解釋為 UTF-8 編碼的字串並遇到不符合 UTF-8 規則的位元組序列時,會發生此錯誤。

在提供的特定情況下引用URL,從 pix2pix-tensorflow GitHub 儲存庫編譯「process.py」腳本時遇到錯誤。該腳本嘗試使用 open() 讀取並載入檔案(特別是圖像)。當 Python 嘗試將檔案內容解碼為 UTF-8 字串時,就失敗了,因為 UTF-8 編碼不允許檔案開頭的位元組序列。

此錯誤的根本原因是檔案內容的實際性質與 Python 假設它們是 UTF-8 編碼之間的不符。原始文件可能是二進位文件,例如影像或壓縮數據,無法可靠地解碼為 UTF-8。

要解決此問題,應使用' 明確將檔案讀取為二進位資料open() 函數中的rb' 模式:

<code class="python">with open(path, 'rb') as f:
    contents = f.read()</code>
登入後複製

透過使用'rb' 模式,Python會將文件視為二進位文件,並且不會嘗試對其進行解碼。這將防止發生 UnicodeDecodeError。

以上是為什麼我的 Python 程式碼在讀取檔案時會拋出 UnicodeDecodeError?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板