Python LanguageSerializzazione dei dati

Sintassi

  • unpickled_string = pickle.loads (stringa)
  • unpickled_string = pickle.load (file_object)
  • pickled_string = pickle.dumps ([('', 'cmplx'), {('oggetto',): Nessuno}], pickle.HIGHEST_PROTOCOL)
  • pickle.dump (('', 'cmplx'), {('oggetto',): Nessuno}], file_oggetto, pickle.HIGHEST_PROTOCOL)
  • unjsoned_string = json.loads (stringa)
  • unjsoned_string = json.load (file_object)
  • jsoned_string = json.dumps (('a', 'b', 'c', [1, 2, 3])))
  • json.dump (('a', 'b', 'c', [1, 2, 3]), file_object)

Parametri

Parametro Dettagli
protocol Usando pickle o cPickle , è il metodo con cui gli oggetti vengono serializzati / non serializzati. Probabilmente vorrai utilizzare pickle.HIGHEST_PROTOCOL qui, il che significa che il metodo più recente.

Osservazioni

Perché usare JSON?

  • Supporto per le lingue incrociate
  • Leggibile dagli umani
  • A differenza di pickle, non ha il rischio di eseguire codice arbitrario

Perché non usare JSON?

  • Non supporta i tipi di dati Pythonic
  • Le chiavi nei dizionari non devono essere diversi dai tipi di dati stringa.

Perché Pickle?

  • Ottimo modo per serializzare Pythonic (tuple, funzioni, classi)
  • Le chiavi nei dizionari possono essere di qualsiasi tipo di dati.

Perché non sottaceto?

  • Manca il supporto per le lingue incrociate
  • Non è sicuro per il caricamento di dati arbitrari

Serializzazione dei dati Esempi correlati