[PIPython] Modificare alcuni caratteri da file di testo

Alessandro Barchi linuxlist
Ven 19 Nov 2004 15:16:46 CET


Ciao a *

ho files (di testo)
abbastanza grandi (250-500 mb) nei quali
sono presenti dei caratteri non stampabili
da \X00 a \X1F  che dovrei convertire in \x20
cioč spazi.

Qual'č il modo migliore (per migliore intendo performante)
per leggere - modificare i caratteri - scrivere il nuovo file?

Attualmente faccio questo, sicuramente č
migliorabile, qualche consiglio ?  grazie.
per un file di 280 mb impiega 12 minuti.

*****************************************
noprintable =
('\x00','\x01','\x02','\x03','\x04','\x05','\x06','\x07','\x08','\x09','\x0B
',

'\x0C','\x0E','\x0F','\x10','\x11','\x13','\x14','\x16','\x17',
               '\x18','\x19','\x1A','\x1B','\x1C','\x1D','\x1E','\x1F')

if not err:

        SecondiInizio = time.time()
        filei = sys.argv[1]
        fi = open(filei,'rb',4000)
        fo = open('OUT'+filei,'wb')
        for char in fi.read():
            if char in noprintable:
                    char = '\x20'
                    tn = tn + 1
            fo.write(char)

        fo.close()
        fi.close()

*****************************************



Alessandro




More information about the Python mailing list