Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ir eliminando lineas de archivo de texto
#1
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 .
Responder
#2
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:

Código:
with open('numeros.txt', 'r') as f:
    lineas = f.readlines()

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

Saludos!
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)