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中文網其他相關文章!