Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2012, 10:58
Valkyria
 
Fecha de Ingreso: octubre-2011
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta error en modulo pikcle con lista

¡Buenas tardes a todos!

Acabo de empezar a utilizar el módulo random y esta es la primera vez que uso el modulo pickle y la verdad es que no lo comprendo del todo bien.

La cosa es que tengo que hacer este programa tan sencillo:

"Escribir un programa que genere una lista de 1000 números reales aleatorios comprendidos entre -100 y 100 y la guarde en un fichero mediante el módulo pickle."

He leido sobre el funcionamiento del módulo pickle y he hecho este programilla:

Código Python:
Ver original
  1. import random
  2. import pickle
  3. f=open("Lista de 1000 numeros.txt","w")
  4. lista=[]
  5. for i in range (1000):
  6.     lista.append(str(random.uniform(-100,100)))
  7. pickle.dump(lista,f)
  8. f.close()

Pero me da este error:

Traceback (most recent call last):
File "C:/Users/xxx/Desktop/pruebas.py", line 7, in <module>
pickle.dump(lista,f)
TypeError: must be str, not bytes


no entiendo porque me da ese error si el objeto que intento picklear es una lista compuesta de números reales. Se supone que tanto las listas como los números enteros largos y de coma flotante se pueden picklear.

¿Alguna idea sobre el error?

¿O es problema de la extensión del archivo que intento abrir?¿No tiene que ser .txt?

]Un saludo y gracias!