Python - Escribir al comienzo de un .txt con Python

 
Vista:
sin imagen de perfil

Escribir al comienzo de un .txt con Python

Publicado por PABLO (5 intervenciones) el 12/10/2014 18:59:01
Buenas que tal? soy nuevo tanto en el foro como en el mundo de la programación.
Al grano: una parte de mi programa echo en Python escribe en un txt eventos que se van dando.
El echo es que quiero que estos eventos se escriban al principio del txt. asi despues hago un print con los primeros 5 (por ejemplo) e imprimo los ultimos 5 eventos...
o sea, en definitiva quiero imprimir los ultimos 5 eventos guardados en el txt, se me ocurrió hacerlo con txt.read(x)
y posicionando donde quiero escribir con txt.seek() pero no lo he logrado.
Alguien me puede dar un ejemplo claro?
Por ahora esto es lo que tengo: gracias y saludos!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import time
import datetime
 
print ('escribimos en el txt...')
time.sleep(3)
txt=open('historial.txt','a+')
posicion = txt.tell()
txt.seek(0)
txt.write(datetime.datetime.now().ctime())
txt.write('\tMODEM 3 \tUnit Fault\n')
txt.close()
 
print ('leer todo...')
time.sleep(1)
txt = open('historial.txt', 'r')
print (txt.read())
time.sleep(3)
 
#lee la primer linea
print ('leer lineas...')
time.sleep(1)
txt = open('historial.txt', 'r')
print (txt.readline())
time.sleep(4)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Imprimir las últimas 5 lineas de un archivo

Publicado por xve (1646 intervenciones) el 13/10/2014 07:55:29
Hola Pablo, imprimir las últimas 5 lineas de un archivo, es relativamente fácil... aquí te muestro un ejemplo:

1
2
3
4
5
6
archivo = open ('lista.txt',"r")
lineas = archivo.readlines()
archivo.close()
 
print "Las ultimas 5 lineas:"
print lineas[len(lineas)-5:]


No te recomiendo guardar las lineas al principio del archivo, no sera muy optimizado... te recomiendo ir añadiendo al final, y cuando quieras mostrar la información, la gestionas a tu gusto.

Espero que te sirva... ya nos comentaras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Imprimir las últimas 5 lineas de un archivo

Publicado por PABLO (5 intervenciones) el 13/10/2014 12:02:43
impecable... no tenia el

" (archivo.readlines()[len(archivo.readlines())-5:-4]) "

anduvo al pelo, gracias y saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar