[Python-es] la 2.2 ok y dudilla

Marcos Sánchez Provencio rapto en arrakis.es
Mie Mayo 29 19:03:06 CEST 2002


El mié, 29-05-2002 a las 18:09, Attila Saorin escribió:
>  --- Marcos Sánchez Provencio <rapto en arrakis.es> escribió: 
> > > 
> > El Python de Debian es por defecto siempre la 2.1. Si quieres la 2.2,
> > hay que decirlo explícitamente:
> > 
> > python2.2
> 
> Ok, todo corrento ahora, ejecutando eso me sale la 2.2, perfecto, gracias.
> 
> Ya que estoy, escribo otra duda, no se si os acordais que queria modificar un texto de un fichero,
> o aniadirle algo si no estaba, el caso es que ya esta casi, algo asi rapido, seria:
> 
> >>> n=open('sal5.txt','w')
> >>> n.write(open('texto1.txt','r').read().replace('texto a cambiar','PARECE QUE SALE'))
> >>> n.close()
> 
> he abusado un poco del one-liners :)
Yo aún diría más:
open('sal5.txt','w').write(open('texto1.txt','r').read().replace('texto
a cambiar','PARECE QUE SALE'))
> 
> La cosa es que mi duda es saber si con este codigo me dejo el descriptor de fichero del
> open('texto1.txt','r') perdido sin cerrar o al estar embebido no pasa nada. Yo creo que se me
> queda abierto, con lo que deberia cerrarlo, en este caso, como se cerraria?
Se cierra en el finalizador del objeto file.
> 
> Como lectores o programadores de codigo, creeis que es mejor que aunque sean mas lineas de codigo,
> deberia ser mas claro el codigo? con lo que no abusar de cosas como estas?
Estás al límite... En concreto esto mete el fichero en memoria (2 veces,
para la original y la nueva versión), igual es abusar de la memoria.





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