Ho un programma che emette alcuni elenchi che voglio archiviare per lavorare successivamente. Ad esempio, supponiamo che generi un elenco di nomi di studenti e un altro elenco dei punteggi medi. Posso archiviare questa uscita nei seguenti due modi:Pickle vs output in un file in python
standard Senso dell'uscita File:
newFile = open('trialWrite1.py','w')
newFile.write(str(firstNames))
newFile.write(str(midterm1Scores))
newFile.close()
Il modo salamoia:
newFile = open('trialWrite2.txt','w')
cPickle.dump(firstNames, newFile)
cPickle.dump(midterm1Scores, newFile)
newFile.close()
Quale tecnica è migliore o preferito? C'è un vantaggio nell'usare l'uno sull'altro?
Grazie
'pickle' non asseconda esattamente le funzioni e le classi come si potrebbe presumere - (http://docs.python.org/library/pickle.html#what-can-be-pickled-and-unpickled)" Nota quelle funzioni (built-in e definite dall'utente) sono decimate dal riferimento al nome "completo", non dal valore ... "La persistenza in questo caso si basa su gerarchie di moduli e interfacce stabili poiché l'ambiente di disfacimento deve corrispondere all'ambiente di pickling. –
Grazie per la risposta. Scriverò la rappresentazione della stringa o userò CSV come suggerito da David. – Curious2learn
@Jeremy: Non mi rendevo conto che 'pickle' non mi piaceva le funzioni definite dall'utente - grazie! Il sottaceto – katrielalex