Все, что вам нужно сделать, это заменить urllib2
на urllib.request
.Вы не используете ничего, что было перенесено в другие urllib.*
модули:
import urllib.request
opener = urllib.request.build_opener(urllib.request.HTTPHandler)
request = urllib.request.Request(url=event['ResponseURL'], data=data)
request.add_header('Content-Type', '')
request.get_method = lambda: 'PUT'
url = opener.open(request)
Вы всегда можете запустить 2to3
инструмент командной строки в своем коде Python 2 и посмотреть, чтоизменения это делает;действие по умолчанию - выводить изменения на стандартный вывод в унифицированном разностном формате.
Исправитель urllib
затем также добавит импорт для urllib.error
и urllib.parse
вверху, потому что он знает тот код, который импортировал urllib2
может понадобиться любой из модулей 3 urllib.*
;он недостаточно умен, чтобы ограничить импорт только теми, которые действительно необходимы после преобразования остальных ссылок urllib2
в модуле.