Рассол или json?

Я должен сохранить немного на диск dict возразите, чьи ключи имеют тип str и значения ints и затем восстанавливают его. Что-то вроде этого:

{'juanjo': 2, 'pedro':99, 'other': 333}

Каков наилучший вариант и почему? Сериализируйте его с pickle или с simplejson?

Я использую Python 2.6.

107
задан Kshitij Saraogi 25 January 2017 в 10:41
поделиться

3 ответа

Я не очень хорошо знаю php, но вот как вы можете сделать это с приблизительным синтаксисом

$total_length = 0;

$words = $whole_sentense->split(' ')

$word_index = 0

$final_sentense = ''

while($total_length + strlen($words[$word_index]) < 140)
{
  $final_sentense .= words[$word_index]
  $total_length += strlen($words[$word_index]
  $word_index++
}

return ($final_sentense)
-121--4716303-

случаи переключения не принимают операторы, которые необходимо оценить. Они используют простые последовательности, булевы или числа для сравнения с

, поэтому говорят, что у вас есть

$x = 0

switch( $x ) {
    case( $x < 10 ):
    ...
    break;
}

вы ожидаете, что этот случай будет запущен, но это не так, и вот почему

($ x < 10) вычисляется как true так что на самом деле у вас есть:

$x = 0

switch( $x ) {
    case true: //!!!
    ...
    break;
}

0! = true так что случай не

вы должны использовать

if() {

} else if() {

} else {

}
-121--3653413-

Если у вас нет каких-либо требований к совместимости (например, вы просто собираетесь использовать данные с Python) и двоичный формат хорошо, перейдите с cPickle , который дает вам действительно быстрый python

Если требуется совместимость или текстовый формат для хранения данных, используйте JSON (или другой подходящий формат в зависимости от ограничений).

65
ответ дан 24 November 2019 в 03:39
поделиться

JSON ou pickle ? Qu'en est-il de JSON et pickle ! Vous pouvez utiliser jsonpickle . Il est facile à utiliser et le fichier sur disque est lisible parce qu'il est JSON.

http://jsonpickle.github.com/

11
ответ дан 24 November 2019 в 03:39
поделиться

Я предпочитаю JSON, а не pickle для сериализации. Unpickling может запускать произвольный код, а использование pickle для передачи данных между программами или хранения данных между сеансами представляет собой брешь в безопасности. JSON не создает дыр в безопасности и стандартизирован, поэтому данные могут быть доступны программам на разных языках, если вам когда-либо понадобится.

96
ответ дан 24 November 2019 в 03:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: