2011-10-01 8 views
5

Actualmente estoy haciendo una serie de rompecabezas de Python en línea, y he tenido un problema donde necesita descargar un archivo encurtido. He leído la documentación sobre el mismo, pero seguí recibiendoTypeError: 'str' no es compatible con la interfaz de buffer - python

TypeError: 'str' does not support the buffer interface

... así que busco en Google y llego a una pregunta sobre el SO con un problema similar. La respuesta apunta a http://wiki.python.org/moin/UsingPickle.

Probé el código en el ejemplo y me sale el mismo problema? Estoy usando Python 3.2.2. ¿WTF?

Rastreo completo:

Traceback (most recent call last): 
    File "C:\foo.py", line 11, in <module> 
    test1() 
    File "C:\foo.py", line 9, in test1 
    favorite_color = pickle.load(open("save.p")) 
TypeError: 'str' does not support the buffer interface 

A partir del ejemplo aquí: http://wiki.python.org/moin/UsingPickle

que ya han creado correctamente el archivo save.p con el primer ejemplo de código en el tutorial.

+1

Probablemente python 2 vs python 3 diferencia. ¿Puedes publicar un rastreo completo? –

+1

Estaba haciendo clic en los primeros enlaces de Google. No sabía que no solo estaba leyendo Python 2, sino que Python 2 y 3 tienen diferencias MAYORES ... De todos modos, ¿dónde encuentro Python 3? – mowwwalker

+0

Además, esa no es mi pregunta anterior. – mowwwalker

Respuesta

13

Abra el archivo de pickle en modo binario: favorite_color = pickle.load(open("save.p", "rb")).

Cuestiones relacionadas