Подтвердить что ты не робот

TypeError: не может использовать шаблон строки для объекта с байтом

import json
import requests

url = 'http://developer.usa.gov/1usagov.json'
r = requests.get(url, stream=True)

for line in r.iter_lines():
    if line:
        print (json.loads(line))

Дает эту ошибку:

TypeError: can't use a string pattern on a bytes-like object

Во время просмотра в браузере я вижу, что ответ - это Json, но библиотека запросов говорит, что это байтовый объект, почему так?

4b9b3361

Ответ 1

Если вы используете Python 3.x, вы должны передать объект str в json.loads.

Заменить следующую строку:

print(json.loads(line))

с:

print(json.loads(line.decode()))