Boto3和Python3:无法转换'字节'隐含地反对str

时间:2018-03-13 06:33:50

标签: python boto3 amazon-rekognition

我正在尝试使用AWS Rekognition,detect_text API。我正在使用Boto3和Python 3。

以下是我的相关代码:

with open(file_path, 'rb') as file:
  data = file.read()

response = self._rekognition.detect_text(Image={'Bytes': data})

此代码适用于Python2.7,但在Python3中失败。我收到以下错误:

File "...", line 39, in extract_text
response = self._rekognition.detect_text(Image={'Bytes': data})
...
...
k_date = self._sign(('AWS4' + key).encode('utf-8'),
TypeError: Can't convert 'bytes' object to str implicitly

我需要在这里改变任何想法。

1 个答案:

答案 0 :(得分:1)

在python 3中,您可能需要使用。

将字节转换为str
data.decode('utf-8')

或者您可以将文本文件作为文本本身阅读。

尝试:

with open(file_path, encoding='utf-8') as file:
  data = file.read()
response = self._rekognition.detect_text(Image={'Bytes': data})

我不知道_rekognition.detect接受了什么,但你可以试试。