首頁 >後端開發 >Python教學 >如何解決 Python 3 檔案處理中的「TypeError: a bytes-like object is required, not 'str'」?

如何解決 Python 3 檔案處理中的「TypeError: a bytes-like object is required, not 'str'」?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-30 16:44:10848瀏覽

How to Resolve

Python 3.5 檔案處理:「TypeError: a bytes-like object is required, not 'str'」已解決

使用檔案時在Python 3 的內容中,了解位元組和字串之間的差異至關重要。在Python 3中,檔案預設以二進位模式打開,內容以位元組物件的形式傳回。

修正處理時出現的錯誤「TypeError: a bytes-like object is required, not 'str',」對於文件內容,主要有兩種解決方案:

1.以文字方式開啟檔案

with open(fname, 'r') as f:
    lines = [x.strip() for x in f.readlines()]

此方法以文字模式開啟文件,確保資料以字串形式傳回。

2.使用位元組物件

如果需要使用位元組對象,可以修改程式碼以使用位元組而不是字串:

if b'some-pattern' in tmp:
    continue

要注意的是,當使用位元組物件時,比較運算子(例如“in”和“==”)需要在兩側使用位元組。

以上是如何解決 Python 3 檔案處理中的「TypeError: a bytes-like object is required, not 'str'」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn