Я просмотрел информацию, которую предоставляют документы по Python , но я все еще немного сбит с толку. Может ли кто-нибудь опубликовать пример кода, который напишет новый файл, а затем с помощью pickle поместит в него словарь?
python
dictionary
pickle
Chachmu
источник
источник
Ответы:
Попробуй это:
источник
pickle.HIGHEST_PROTOCOL
?__slots__
). Я не говорю, что вы всегда должны использоватьHIGHEST_PROTOCOL
, но на самом деле очень важно убедиться, что вы не используете протокол 0 или 1.pickle.HIGHEST_PROTOCOL
самом деле делает?Преимущество в
HIGHEST_PROTOCOL
том, что файлы становятся меньше. Это делает процесс маринования иногда намного быстрее.Важное замечание : максимальный размер файла рассола составляет около 2 ГБ.
Альтернативный способ
Альтернативные форматы
Для вашего приложения может быть важно следующее:
Смотрите также: Сравнение форматов сериализации данных
Если вы предпочитаете создавать файлы конфигурации, вы можете прочитать мою короткую статью Файлы конфигурации в Python
источник
источник
Как правило, выбор a
dict
завершится неудачей, если в нем нет только простых объектов, таких как строки и целые числа.Даже действительно простое
dict
будет часто терпеть неудачу. Это зависит только от содержимого.Однако, если вы используете лучший сериализатор, такой как
dill
илиcloudpickle
, то большинство словарей можно выбрать:Или, если вы хотите сохранить свой
dict
файл ...Последний пример идентичен любому из других хороших ответов, опубликованных здесь (которые, кроме пренебрежения возможностью выбора содержимого
dict
, хороши).источник
обычно предпочтительнее использовать реализацию cPickle
источник
Если вы просто хотите сохранить dict в одном файле, используйте
pickle
вот такЕсли вы хотите сохранить и восстановить несколько словарей в нескольких файлах для кэширования и хранения более сложных данных, используйте anycache . Он делает все остальное, что вам нужно вокруг
pickle
Anycache сохраняет разные
myfunc
результаты в зависимости от аргументов для разных файловcachedir
и перезагружает их.Смотрите документацию для получения дополнительной информации.
источник
Простой способ выгрузить данные Python (например, словарь) в файл pickle.
источник
источник
Мне показалось, что маринование сбивает с толку (возможно, потому что я толстый) Я обнаружил, что это работает, хотя:
Который вы можете записать в текстовый файл. Я прекратил попытки использовать pickle, так как получал ошибки, говорящие мне записать целые числа в файл .dat. Я извиняюсь за то, что не использовал рассол.
источник
dict
в нем содержалась дополнительная глубина объектов (которые могут быть напечатаны просто name) и / или объекты без какого-либо или полного строкового представления.