Использование Python 3.5, следующий пример для чтения zipfile шейп-файла из URL и обновления для P3.5. Код ниже. Я посмотрел на другие случаи и попытался добавить .decode ('utf-8'), и это не помогает.
dls = "https://github.com/ItsMeLarry/Coursera_Capstone/raw/master/tl_2010_25009_tract00%202.zip"
print('Downloading shapefile...')
lynntracts = ZipFile(io.StringIO(urllib.request.urlopen(dls).read()))
print("Done")
Код ошибки:
TypeError: initial_value должно быть str или None, а не байтами
Если я введу .decode ('utf-8'), аля:
lynntracts = ZipFile(io.StringIO(urllib.request.urlopen(dls).read().decode('utf-8')))
Я получаю следующее сообщение:
UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xa4 в позиции 57: недопустимый начальный байт
Помещение decode () снаружи вызова io.StringIO не влияет на исходную проблему. Я потерялся. Что я могу попробовать или что мне нужно учиться? Спасибо.
Кроме того, я пытаюсь реализовать процедуру, которая не создает файл на диске, временную или другую, потому что отношения между Jupyter и Macos запрещают доступ к файлам на диске. Это еще одна проблема, которую еще никто не смог решить.