1. 程式人生 > 其它 >TypeError: a bytes-like object is required, not ‘str’

TypeError: a bytes-like object is required, not ‘str’

技術標籤:機器學習

這幾天在跟學一個課,課程中老師使用的python版本是python2.7而我使用的python3.6

自己敲程式碼的時候提示錯誤TypeError: a bytes-like object is required, not 'str'

出現這個錯誤的原因是python2和python3在套接字返回值上存在一定區別,而在python中,bytes型別和str型別可以通過decode()和encode()進行互相之間的轉換。

呼叫decode()方法可以將byte型別轉化為str型別,而呼叫encode() 方法則可以將str型別轉換成為 byte型別。

因此只需要將

image_id, description = line.strip('\n').split('\t')

修改為:

image_id, description = line.decode().strip('\n').split('\t')

報錯解決