如何删除从文件中读取的字符串中的编码 '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'

我该如何解决这个错误?

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

在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]