[Python-es] TypeError

Jose Caballero jcaballero.hep en gmail.com
Jue Oct 25 20:21:55 CEST 2012


El 25 de octubre de 2012 14:13, alito s <alito81 en gmail.com> escribió:

> Hola a tod en s:
> Molestandolos de nuevo. Estoy buscando unos números al final de una línea.
> Cada línea tiene diferentes especificaciones y solo me interesa el número
> al final de cada línea. Lo hice con expresiones regulares y todo bien, como
> debe de ser, la única restricción es que los números deben ser ">=20" así
> que se me ocurrió poner un "if" como condicionante. Y todo bien, me lo
> imprime en pantalla, sin embargo, a la hora que quiero que me guarde solo
> los números me manda el "TypeError: expected a character buffer object" y
> no se por qué. Seguramente es una tontería pero no le encuentro como
> solucionarlo. Me interesa gurdarlo.
> Les dejo mi código.
>
>
> outp = open("errores.txt", "w")
>
> for line2 in a:
>     a2 = re.search(r"\d+$", line2)
>     a3 = int(a2.group())
>     if a3 >=20:
>         print (a3)
>         outp.write(a3)
>
> outp.close()
>
> De antemano, gracias.
>
>

el propio mensaje de error lo dice:  " expected a character buffer object"


>>> o = open('/tmp/kk', 'w')
>>> o.write(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: expected a character buffer object

>>> o.write('3')
>>>

>>> help(o.write)

write(...)
    write(str) -> None.  Write string str to file.

    Note that due to buffering, flush() or close() may be needed before
    the file on disk reflects the data written.



Jose
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20121025/8f237be0/attachment.html>


Más información sobre la lista de distribución Python-es