Foros Python

Versión completa: Ir eliminando lineas de archivo de texto
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola a todos. El problema es elsiguioente: Tengo un fichero de texto con un número en cada linea:

123546
55894
498723664
548416

Lo abro, lo recorro y porcada linea del archivo realizo una serie de acciones con el numero:

with open('numeros.txt', 'r+') as lineas:
   for linea in lineas:
       numero = linea
       print('########### ' + numero)

Pues el caso, es que megustaria ir quitando los numeros segun los vaya utilizando, hasta que al final el archivo quede vacio, asi siempre puedo saber en que fila se quedo el programa . Como no se pueden ir eliminando las lineas según las uso, habia pensado en ir sobreescribiendo el archivo con todas las lineas menos las que voy utilizando, pero no doy con la clave de como hacerlo.

Si alguien pudiera orientarme sobre cual seria la mejor manera de hacer esto se lo agradeceria .
Hola. Si el archivo es pequeño puedes cargar las líneas en memoria y luego ir escribiendo en el archivo quitando los números ya procesados de la lista:

  1. with open('numeros.txt', 'r') as f:
  2. lineas = f.readlines()
  3.  
  4. with open('numeros.txt', 'w') as f:
  5. for i, linea in enumerate(lineas):
  6. numero = linea
  7. print('########### ' + numero)
  8. # Escribir nuevamente las líneas al fichero a
  9. # excepción de las ya procesadas.
  10. f.write("".join(lineas[i + 1:]))


Saludos!