Borrar cadenas en un archivo

Hernán Martínez Foffani hernan en orgmf.com.ar
Vie Jun 25 19:21:53 CEST 2004


>>> Los datos de servidores e ips se guardan en un fichero en este
>>> formato, p.ej. 1:127.0.01:27960, donde 1 es el ID del registro, la
>>> ip y el puerto de conexión, lo que no consigo es recuperar el
>>> registro 2, por ejemplo y eliminarlo de la lista, quitar esa linea
>>> y que todos los ID de los siguientes registros resten 1 y volver a
>>> grabarlo todo en un fichero
>>
>> No es un problema de python lo que tienes.  Te ocurrirá con cualquier
>> otro lenguaje.  Si tu archivo de datos tiene largo de registro
>> variable (como son los archivos de texto en general) nunca podrás
>> hacer una regrabacion sobre el mismo.
>> Lo que tienes que hacer es leerlo todo, cerrarlo, modificarlo en
>> memoria y volcarlo de nuevo. O si no, usar algun archivo temporario
>> leyendo desde uno y grabando otro.  luego lo reemplazas.
>
> si, eso es exactamente lo que hace la funcion de modificar los
> registros, pero lo que quiero es borrar esa linea, hay alguna funcion
> en algun modulo que borre la linea?

¡Borrar la linea es el mismo caso!
*Tienes* que implementarlo de forma similar como lo hiciste para las
modificaciones.  Si estas procesando archivos comunes en S.O.
"normales" no tienes alternativa (y repito, no importa el lenguaje
con el que programes)

-H.




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