Estoy usando la última versión de Python y después de buscar, parece que no puedo encontrar nada en los encurtidos que me funcione.sintaxis de picking de Python
Simplemente estoy repasando tutoriales tratando de aprender sobre decapado y ninguno de los códigos fuente que aparentemente funciona en los tutoriales me funcionará, sospecho que esto tiene que ver con que los tutoriales están desactualizados.
Lo que he tratado y es el mismo que lo que muestran tutoriales es:
import pickle
lists = [1,2,3,4,5]
pickle.dump(lists, open('log.txt', 'a+'))
que me da el siguiente error:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
pickle.dump(lists, open('log.txt', 'a+'))
TypeError: must be str, not bytes
este
>>> import pickle
>>> unpicklefile = open('log.txt', 'r')
>>> unpickledlist = [1,2,3,4,5]
>>> unpickledlist = pickle.load(unpicklefile)
me la da siguiente error:
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
unpickledlist = pickle.load(unpicklefile)
TypeError: 'str' does not support the buffer interface
Gracias por todas las respuestas y ayudar a
Su código funciona bien para mí sin errores (a excepción de que coincida con los nombres de archivo utilizados). Entonces, ** ¿qué error obtuviste en realidad **? –
editó la pregunta –
Parece que está siguiendo un tutorial diseñado para Python 2.x, mientras que parece estar usando Python 3.x. Hay diferencias sutiles, y si desea utilizar Python 3.x, entonces sería mejor seguir un tutorial diseñado para esa versión. –