Borrar cadenas en un archivo
Chema Cortés
py en ch3m4.org
Lun Jun 28 10:30:24 CEST 2004
-----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-----
Más información sobre la lista de distribución Python-es