2013-05-14 4 views
4

Мне нужно сохранить словарь в файл, в словаре есть строки, целые числа и словари.Есть ли альтернатива pickle - сохранить словарь (python)

Я сделал это самостоятельно, и это не довольно и приятно для пользователя.

Я знаю о маринаде, но, как я знаю, что это не безопасно использовать его, потому что если кто-то заменить файл и я (или кто-то другой) будет запускать файл, который использует заменить файл, это будет и может сделать что-то. это просто небезопасно.

Есть ли другая функция или импортная вещь, которая делает это.

+3

Что находится в словаре? –

ответ

0

Предполагая, что ваш словарь содержит только базовые типы данных, нормальный ответ json, это популярный, хорошо определенный язык для такого рода вещей.

Если ваш словарь содержит более сложные данные, вам придется вручную сериализовать его, по крайней мере, частично.

5

Рассол не безопасен, когда передано ненадежным третьим лицом. Локальные файлы просто прекрасны, и если что-то может заменить файлы в вашей файловой системе, тогда у вас есть другая проблема.

Это говорит о том, что если ваш словарь содержит только строковые ключи, а значения - это ни что иное, как списки, числа, строки или другие словари Python, а затем использовать JSON через json module.

0

JSON не совсем Python-путь по нескольким причинам:

  1. Это не может обернуть/разворачивать все типы данных Python: нет никакой поддержки для наборов или кортежей.
  2. Не достаточно быстро, потому что ему нужно иметь дело с текстовыми данными и кодировками.

Попробуйте вместо этого использовать sPickle.

+2

Можете ли вы **, по крайней мере, ** добавить на свой пост отказ от ответственности, что это ваш собственный проект? –

Смежные вопросы