Я читал документацию по запросам lib и, похоже, был поистине устаревшим или чем-то. я шаг за шагом идти, пытаясь все примеры, показанные здесь и столкнулись с проблемой, когда я попытался запустить следующий фрагмент:Содержимое бинарного ответа, запросы lib
import requests
from PIL import Image
from StringIO import StringIO
response = requests.get('http://www.github.com')
i = Image.open(StringIO(response.content))
Этот кусок от официальной документации. Первой ошибкой, которую я получил, был ImportError: нет модуля с именем StringIO
Хорошо, тогда я узнал, что этот модуль больше не существует, и для того, чтобы импортировать StringIO, нужно написать from io import StringIO
. Я это сделал. Попробовал снова запустить код, и на этот раз он с ошибкой «TypeError: initial_value должен быть str или None, а не байтами». Что я сделал неправильно? Я не следую ... Все, что я сделал, это попробовать запустить код из официального документа ... Я не знаю.
EDITED: И да ... для использования PIL необходимо установить подушку.
Это может помочь [http://stackoverflow.com/questions/31064981/python3-error-initial-value-must-be-str-or-none] –
Есть некоторые основные различия между Python2.x и Python3.x (особенно в отношении обработки строк). Это является причиной * некоторых * ваших проблем. Где вы получаете 'response.get ...', и почему вы думаете, что это то же самое, что и модуль' request', я не знаю. – jDo
@jDo oops, извините, это просто опечатка. В действительности это должно быть request.get (....). – Albert