Некоторые виды использования, с которыми я сталкивался:
1) сохранение данных о состоянии программы на диск, чтобы она могла продолжить с того места, на котором она остановилась при перезапуске (постоянство)
2) отправкаданные Python по TCP-соединению в многоядерной или распределенной системе (маршаллинг)
3) хранение объектов Python в базе данных
4) преобразование произвольного объекта Python в строку, чтобыможет использоваться в качестве словарного ключа (например, для кэширования и запоминания).
Есть некоторые проблемы с последним - два одинаковых объекта могут быть засечены и привести к различным строкам - или даже один и тот же объект засечен дважды.имеют разные представления.Это связано с тем, что указатель может содержать информацию о числе ссылок.
Чтобы подчеркнуть комментарий @ lunaryorn, вы никогда не должны извлекать строку из ненадежного источника, поскольку тщательно подобранный указатель может выполнить произвольный код в вашей системе.Например, см. https://blog.nelhage.com/2011/03/exploiting-pickle/