Borrar cadenas en un archivo

lars lars en telefonica.net
Lun Jun 28 11:19:33 CEST 2004


El lun, 28-06-2004 a las 10:30, Chema Cortés escribió:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On Friday 25 June 2004 19:21, Hernán Martínez Foffani wrote:
> 
> > ¡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)
> 
> Hay que decir que sí que existen soluciones si tienes registros de longitud 
> fija. En lenguaje C se puede hacer sin problemas (por extraño que parezca, 
> desconozco cómo se haría en python :-P )
> 
> De todas formas, para estos problemas, y habiendo cosas como la Berkeley DB, 
> yo no andaría usando ficheros de texto plano:
> 
> import bsddb
> 
> f=bsddb.rnopen("MyFile.db","w")
> 
> #Crear los registros
> #La numeración empieza por 1
> f[1]="1:127.0.01:27960"
> f[2]="2:127.0.01:27970"
> f[3]="3:127.0.01:27980"
> f[4]="4:127.0.01:27990"
> 
> #borrar un registro
> del f[2]
> 
> #renumerar los registros
> for i,(n,s) in enumerate(f.iteritems()):
>   del f[n]
>   f[i+1]="%d:"%(i+1) + s.split(":",1)[1]
> 
> f.close()
> 
> f=bsddb.rnopen("MyFile.db","r")
> for n,s in f.iteritems():
>   print n,s
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.2 (GNU/Linux)
> 
> iD8DBQFA39ckHLTQrABk8H0RAsmpAJsEzt2XP9+vbrj9yGKIOoGQXaQOgwCcDN34
> iAMU1lVq7ywuvZDb721q6CQ=
> =Xi1Y
> -----END PGP SIGNATURE-----
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es

Gracias Chema! eso era precisamente lo que iba buscando, te has ganao
una linea en los agradecimientos :D

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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