Я сохраняю список, используя pickle.dumps()
следующим образом:
my_list = ['Hello', 'I', 'Have', 'a', 'question', 'camión']
my_pickle = pickle.dumps(my_list)
После создания маринада я загружаю его в контейнер в пакете Azure:
blob_service.block_service.create_blob_from_bytes('containername', 'filename', my_pickle)
И получаю обратно:
my_bytes = blob_service.block_service.get_blob_to_bytes('containername', 'filename')
То, что я хочу (my_list
), находится внутри my_bytes.content
, и, если я напечатал, я получаю:
b'\x80\x03]q\x00(X\x05\x00\x00\x00Helloq\x01X\x01\x00\x00\x00Iq\x02X\x04\x00\x00\x00Haveq\x03X\x01\x00\x00\x00aq\x04X\x08\x00\x00\x00questionq\x05X\x07\x00\x00\x00cami\xc3\xb3nq\x06e.'
Чтобы вернуть my_bytes
обратно в список, я попытался расшифровать его следующим образом:
my_bytes.decode('utf-8')
Но я получаю следующую ошибку:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
Другое кодирование, например latin-1
, это не дает ошибки, но возвращает
'\x80\x03]q\x00(X\x05\x00\x00\x00Helloq\x01X\x01\x00\x00\x00Iq\x02X\x04\x00\x00\x00Haveq\x03X\x01\x00\x00\x00aq\x04X\x08\x00\x00\x00questionq\x05X\x07\x00\x00\x00camiónq\x06e.'
вместо my_list
.
Я искал в Интернете, чтобы выяснить, почему это происходитно я не смог найти ничего, что помогло бы мне, поэтому любое предложение или совет более чем приветствуютсяЯ хотел бы получить my_list
от my_bytes
.Обратите внимание, что мне интересно, как декодировать my_bytes
.