如何删除从文件中读取的字符串中的编码 'b'?
How to remove encoding 'b' in a string which was read from file?
trainLabels = files.upload()
labels = (trainLabels['LabelsTrain.txt']).splitlines()
trainLabels = [k.encode("utf-8") for k in labels]
我正在使用 Google Colab 来训练网络。我从文本文件中读入图像标签,它们似乎被编码了。
标签显示为:
[b'53.239448782705836', b'24.01860123103387', b'32.0400103628653']
所以我尝试使用 encode("utf-8")
删除 'b'
。
但是,我收到以下错误:
AttributeError: 'bytes' object has no attribute 'encode'
我该如何解决这个错误?
当您读取文件时,字符串仍然具有编码为 utf
或 ascii
的字节类型。
在python中,encode
将字符串变为byte type
,而你的数据已经是b
(字节类型)。
所以byte
不可能在python中再次编码为Unicode byte
。它会导致错误。
在python解释器中看起来是可读的(它只是为了人类可读而显示),但实际数据是以Unicode字节格式编码的。
因此,使用 decode
在 python 解释器中将 bytestrem 转换为 Unicode 文本,它使句柄文本没有 b
因此,将 encode
更改为 decode
会很好用。
trainLabels = [k.decode("utf-8") for k in labels]
trainLabels = files.upload()
labels = (trainLabels['LabelsTrain.txt']).splitlines()
trainLabels = [k.encode("utf-8") for k in labels]
我正在使用 Google Colab 来训练网络。我从文本文件中读入图像标签,它们似乎被编码了。
标签显示为:
[b'53.239448782705836', b'24.01860123103387', b'32.0400103628653']
所以我尝试使用 encode("utf-8")
删除 'b'
。
但是,我收到以下错误:
AttributeError: 'bytes' object has no attribute 'encode'
我该如何解决这个错误?
当您读取文件时,字符串仍然具有编码为 utf
或 ascii
的字节类型。
在python中,encode
将字符串变为byte type
,而你的数据已经是b
(字节类型)。
所以byte
不可能在python中再次编码为Unicode byte
。它会导致错误。
在python解释器中看起来是可读的(它只是为了人类可读而显示),但实际数据是以Unicode字节格式编码的。
因此,使用 decode
在 python 解释器中将 bytestrem 转换为 Unicode 文本,它使句柄文本没有 b
因此,将 encode
更改为 decode
会很好用。
trainLabels = [k.decode("utf-8") for k in labels]