[pyar] Hola Mundo y [HELP!] Consulta sobre encoding de archivo...

Leandro E. Colombo Viña colomboleandro en gmail.com
Mar Mayo 28 20:04:32 ART 2013


Ahhhh! Entonces debería hacer un "open" del CSV que está codificado en
ISO-8859-1 y luego un "close" para uqe me lo guarde como UTF-8. Y después
trabajo con el archivo ese que está directamente en UTF-8.

Ahora lo que no entendí muy bien, es el uso del *with*. ¿Cuál es la
diferencia?

MIL GRACIAS!

Ya lo estoy probando


El 28 de mayo de 2013 15:01, Juan Ignacio <euribates en gmail.com> escribió:

> Si, con with sería lo deseable, o con try/finally. Lo puse así para
> simplificar el ejemplo. Gracias por el apunte.
>
>
> 2013/5/28 Roberto Alsina <ralsina en netmanagers.com.ar>
>
>> On 28/05/13 13:53, Juan Ignacio wrote:
>> > Puedes usar el módulo codecs para abrir un fichero indicándole la
>> > codificación a usar. Por ejemplo, si tienes un fichero en iso-8859-1 y
>> > quieres salvarlo como utf-8, puedes hacer:
>> >
>> > import codecs
>> > fin = codecs.open('entrada.txt', 'rb', encoding='iso-8859-1')
>> > fout = codecs.open('saluda.txt', 'wb', encoding='utf-8')
>> > for linea in fin.readlines():
>> >     fout.write(linea)
>> > fout.close()
>> > fin.close()
>> >
>>
>> Ese código tiene un problemita: si pasa algo entre el open y el close
>> (ya sé que en este ejemplo sería raro ;-),
>> leakeás filehandles que en linux no importa, pero en windows sí. Yo
>> vengo tratando de usar siempre context managers:
>>
>> with codecs.open(''entrada.txt', 'rb', encoding='iso-8859-1') as fin:
>>     with codecs.open('saluda.txt', 'wb', encoding='utf-8') as fout:
>>         for linea in fin.readlines():
>>             fout.write(linea)
>>
>>
>>
>> > Con el fichero abierto de esa manera, puedes (y debes :-)) trabajar en
>> > unicode, él hace las conversiones necesarias de forma transparente.
>> > Este código, si el fichero pepe.py está correctamente codificando en
>> > utf-8, vemos que las líneas son todas unicode :
>> >
>> > import codecs
>> > for l in codecs.open('pepe.py', encoding='utf-8'):
>> >     print type(l)
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Juan Ignacio Rodríguez de León
> Móvil: 605 890514
> E-Mail: euribates en gmail.com
> http://www.metriz.com/
> http://descon2.com/
> http://www.elornitorrincoenmascarado.com/
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130528/42563e62/attachment.html>


More information about the pyar mailing list