2

我正在尝试使用 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

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

4

1 回答 1

2

在 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 接受什么,但您可以尝试。

于 2018-03-13T06:39:45.040 回答