如何删除从文件读取的字符串中的编码“ b”?

时间:2019-04-07 14:53:48

标签: python character-encoding google-colaboratory

.vimrc

我正在使用Google Colab训练网络。我从一个文本文件中读取了图像标签,它们似乎已编码。

标签显示为:

trainLabels = files.upload()
labels = (trainLabels['LabelsTrain.txt']).splitlines()
trainLabels = [k.encode("utf-8") for k in labels]

因此,我尝试使用[b'53.239448782705836', b'24.01860123103387', b'32.0400103628653'] 删除'b'。  但是,出现以下错误:

encode("utf-8")

我该如何解决该错误?

1 个答案:

答案 0 :(得分:1)

读取文件时,字符串仍然具有用utfascii编码的字节类型。

在python中,encode将字符串设置为byte type,并且您的数据已经是b(字节类型)。

因此byte在python中再次编码为Unicode byte是不可能的。它会导致该错误。

在python解释器中看起来可读(它只是显示为人类可读),但是实际数据是以Unicode字节格式编码的。

因此,在Python解释器中,使用decode使bytestrem成为Unicode文本,而没有b则使句柄文本

因此,将encode更改为decode会很好。

trainLabels = [k.decode("utf-8") for k in labels]