Я должен сохранить немного на диск dict
возразите, чьи ключи имеют тип str
и значения int
s и затем восстанавливают его. Что-то вроде этого:
{'juanjo': 2, 'pedro':99, 'other': 333}
Каков наилучший вариант и почему? Сериализируйте его с pickle
или с simplejson
?
Я использую Python 2.6.
Я не очень хорошо знаю 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 (или другой подходящий формат в зависимости от ограничений).
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.
Я предпочитаю JSON, а не pickle для сериализации. Unpickling может запускать произвольный код, а использование pickle
для передачи данных между программами или хранения данных между сеансами представляет собой брешь в безопасности. JSON не создает дыр в безопасности и стандартизирован, поэтому данные могут быть доступны программам на разных языках, если вам когда-либо понадобится.