[PIPython] Modificare alcuni caratteri da file di testo
Alessandro Barchi
linuxlist
Ven 19 Nov 2004 15:16:46 CET
> > Qual'è il modo migliore (per migliore intendo performante)
> > per leggere - modificare i caratteri - scrivere il nuovo file?
>
> Usa string.maketrans (sez. 4.1 della doc) per definire una tabella di
> traduzione, e poi lo string method translate (sez. 2.3.6.1 della doc) per
> tradurre i caratteri indesiderati.
>
Grazie per la risposta!!
Purtroppo con file molto grandi (nel caso di prova 279 mb)
ho questo tipo di errore:
Traceback (most recent call last):
File "p:\appl\bin\removenull_dev.py", line 66, in ?
fo.write(dati2)
IOError: [Errno 22] Invalid argument
Questo perchè viene eseguito in rete (win2k)
se lo eseguo sulla mia macchina non da errore?!?
Questo è parte del codice:
*********************************************
filei = sys.argv[1]
fi = open(filei,'rb',10000)
fo = open('OUT_test'+filei, 'wb',10000)
dati = fi.read()
fi.close()
dati2 = string.translate(dati,table)
fo.write(dati2)
fo.close()
**********************************************
comunque IMHO non mi sembra che questo sistema sia
ottimale... da quel che ho capito fi.read() si legge
tutto il file in memoria, string.translate() effettua
una nuova copia etc.... infatti la memoria schizza da
215 mb a 488 mb poi a 759 mb per poi ritornare a 215.
se avessi file da 2 gb che succede??
More information about the Python
mailing list