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