Я играю с API с помощью Python. Im пытается декодировать gzipped ответы, которые дает API.
import urllib, gzip
url = urllib.urlopen('http://api.stackoverflow.com/1.0/badges/name')
gzip.GzipFile(fileobj=url).read()
Согласно документации urllib2, urlopen
"возвращает файл-подобный объект".
Однако, когда я запускаю read()
на объект GzipFile, созданный с помощью Ive, я получаю эту ошибку:
AttributeError: addinfourl instance has no attribute 'tell'
Насколько я могу судить, это происходит от объекта, возвращаемого urlopen
.
Кажется, он тоже не ищет, поскольку я получаю сообщение об ошибке:
url.read()
url.seek(0)
Что именно представляет собой этот объект и как создать из него функционирующий экземпляр GzipFile
?