AttributeError("'str' object has no attribute 'read'",)
Это означает, что именно это говорит: что-то пыталось найти атрибут
.read
для объекта, который вы ему дали, и вы дали ему объект типаstr
(т. е. вы дали ему строку) .Ошибка произошла здесь:
json.load (jsonofabitch)['data']['children']
Ну, вы нигде не ищете
read
, поэтому это должно произойти в функцииjson.load
, которую вы вызывали ( как указано в полном обзоре). Это потому, чтоjson.load
пытается.read
то, что вы ему дали, но вы дали емуjsonofabitch
, который в настоящее время называет строку (которую вы создали, вызвав.read
наresponse
).Решение: не вызывайте
.read
самостоятельно; функция будет делать это и ожидает, что вы дадите емуresponse
напрямую, чтобы он мог это сделать.Вы могли бы также понять это, прочитав встроенную документацию Python для функции (попробуйте
help(json.load)
или для всего модуля (попробуйтеhelp(json)
) или проверите документацию для этих функций на http://docs.python.org .