Quiero hacer algunos filtros básicos en un archivo. Léelo, hazlo, escríbelo.Abrir archivo, leerlo, procesarlo y escribir de nuevo - el método más corto en Python
No estoy buscando "jugar al golf", pero quiero el método más simple y elegante para lograrlo. Se me ocurrió:
from __future__ import with_statement
filename = "..." # or sys.argv...
with open(filename) as f:
new_txt = # ...some translation of f.read()
open(filename, 'w').write(new_txt)
La declaración with
hace las cosas más corto ya que no tiene que abrir de forma explícita y cierre el archivo.
¿Alguna otra idea?
Muy bien, gracias por señalar esta opción. También puede usar la función filelineno() desde la entrada de archivo para tener automáticamente el número de línea, sin contarlo usted mismo. –
Ah, y se le olvidó la coma después de la impresión - el código agrega líneas adicionales :-) –
Gracias por captar eso - He cambiado el ejemplo. – Hortitude