Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Как работать с модулем pickle?

27.10.2020, 10:32. Показов 815. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему указан в коде второй протокол в строке ab = pickle.dumps(a, 2), а сверху 3 или 4? В чем смысл этого кода?
Python
1
2
3
4
5
6
7
8
9
>>> pickle.DEFAULT_PROTOCOL
3
>>> pickle.HIGHEST_PROTOCOL
4
>>> a = [1, 2, 3]
>>> ab = pickle.dumps(a, 2)
>>> b = pickle.loads(ab)
>>> b
[1, 2, 3]
Код с сайта pythoner.name из статьи "Модуль pickle".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2020, 10:32
Ответы с готовыми решениями:

Как работать с модулем бронирования?
Всем доброго времени суток! Проблема такая: на сайте гостиницы нужно сделать онлайн бронирование, я скачал бесплатную версию Solidres, но...

Как работать с модулем Graph
товарищи!!! скажите пожалуйста у кого есть информация на тему "Использование стандартных процедур и функций граф"?

Как работать с модулем Authen::SASL?
Привет всем! Я пытаюсь сделать програмку для управления почтовым сервером (поп3) на фрюхе-5.2 Сервер работает. Авторизация по sasldb...

12
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
27.10.2020, 10:59
Python
1
pickle.DEFAULT_PROTOCOL
Протокол, используемый по умолчанию.
Python
1
pickle.HIGHEST_PROTOCOL
Наибольший доступный номер протокола.

Поскольку наибольший доступный номер протокола равен 4, можно использовать номера протоколов от 0 до 4. Поскольку номер протокола по умолчанию равен 3, то обычно не имеет смысла явно указывать номер протокола, равный 3.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
27.10.2020, 12:46  [ТС]
А для чего здесь указан второй протокол?
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
27.10.2020, 13:00
Думаю, в примере используется второй протокол, чтобы продемонстрировать, что действительно можно выбирать любой номер протокола от 0 до pickle.HIGHEST_PROTOCOL, а не только равный значениям pickle.DEFAULT_PROTOCOL, pickle.HIGHEST_PROTOCOL.

Лично я не стал бы указывать протокол вообще, если только мне не нужны особенности, предоставляемые конкретным протоколом.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
27.10.2020, 13:13  [ТС]
Как понял, протоколы на разных компьютерах могут не совпасть, если не указать и более поздние необязательно прочитают правильно данные, записанные с более ранним протоколом или наоборот более ранняя модификация не прочитает более позднюю.
0
312 / 192 / 98
Регистрация: 01.05.2014
Сообщений: 522
27.10.2020, 13:13
Для версии Python 3.0 pickle.DEFAULT_PROTOCOL = 3
Для версии Python 3.8 pickle.DEFAULT_PROTOCOL = 4
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.10.2020, 13:44
Цитата Сообщение от supmener Посмотреть сообщение
с более ранним протоколом или наоборот более ранняя модификация не прочитает более позднюю.
Ниче не понял. Но обычно оставляют обратную совместимость - то есть старые версии файлов со старым протоколом можно прочитать. Но скорее всего при записи они обновятся на более новую версию. этакая миграция данных.

Так что проблема высосана из пальца.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
27.10.2020, 13:55  [ТС]
Вот предположим программу со строкой "import pickle", созданную на последних версиях Пайтона, захочет кто-то открыть на Windows XP, где максимальный Питон устанавливается в систему только версии 3.4.3.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.10.2020, 14:05
Тогда лучше взять sqlite.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
30.10.2020, 11:45  [ТС]
А с dill трудно понять, как работать?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
30.10.2020, 12:03
Не знаю как тебе это поможет с (не)совместимостью протоколов.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
30.10.2020, 12:10  [ТС]
Имел в виду не в связи с заголовком, а научиться пользоваться им вместо pickle.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
30.10.2020, 12:56
Цитата Сообщение от supmener Посмотреть сообщение
а научиться пользоваться им вместо pickle.
"dill provides the user the same interface as the pickle module, and also includes some additional features."
dill предоставляет пользователю тот же интерфейс, что и модуль pickle, а также включает в себя некоторые дополнительные функции
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2020, 12:56
Помогаю со студенческими работами здесь

Как работать с модулем Esp8266 в atmega8a-au
Начертил схему для умного дома. Схема https://prnt.sc/nwi7zg. Теперь вопрос как получить с MQTT сервера данные. Модуль ESP-01 и МК...

Как работать с регулярными выражениями с модулем RegExpr.pas
Подключил в проект модуль RegExpr.pas, потому что все попытки подключить boost провалились (винда 7), но не могу найти примеров...

Как открыть файл на чтение и запись для pickle?
Я пытаюсь открыть файл с rb+, но после записи, pickle не может прочитать ничего из файла. Может стоит вместо dump и load исползовать...

Заменить из двух чисел меньшее число модулем их разности, а большее — модулем произведения
составьте программу, заменяющую из двух данных чисел меньшее число модулем разности, а большее - модулем произведения этих чисел.

Можно ли свободно работать с графическим модулем, все ли есть стандартные процедуры и функции "турбо"
У меня win 7 x32,поэтому дабы не мучиться дальше с дос-боксами скачала free с вашего форума. Вопрос такой: Можно ли свободно работать с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru