Обрабатывать очень большой (> 20 ГБ) текстовый файл построчно

У меня есть несколько очень больших текстовых файлов, которые мне нужно обработать, самый большой из которых - около 60 ГБ.

Каждая строка содержит 54 символа в семи полях, и я хочу удалить последние три символа из каждого из первых трех полей, что должно уменьшить размер файла примерно на 20%.

Я новичок в Python и у меня есть код, который будет делать то, что я хочу делать, со скоростью около 3,4 ГБ в час, но чтобы быть полезным упражнением, мне действительно нужно получать как минимум 10 ГБ / час - есть ли способ ускорить это до? Этот код не подходит для вызова моего процессора, поэтому я делаю необразованное предположение, что он ограничен скоростью чтения и записи на внутренний жесткий диск?

def ProcessLargeTextFile():
    r = open("filepath", "r")
    w = open("filepath", "w")
    l = r.readline()
    while l:
        x = l.split(' ')[0]
        y = l.split(' ')[1]
        z = l.split(' ')[2]
        w.write(l.replace(x,x[:-3]).replace(y,y[:-3]).replace(z,z[:-3]))
        l = r.readline()
    r.close()
    w.close()

Любая помощь могла бы быть полезна. Я использую IDLE Python GUI в Windows 7 и имею 16 ГБ памяти - возможно, другая ОС будет более эффективной?

Редактировать: Вот выдержка из файла для обработки.

70700.642014 31207.277115 -0.054123 -1585 255 255 255
70512.301468 31227.990799 -0.255600 -1655 155 158 158
70515.727097 31223.828659 -0.066727 -1734 191 187 180
70566.756699 31217.065598 -0.205673 -1727 254 255 255
70566.695938 31218.030807 -0.047928 -1689 249 251 249
70536.117874 31227.837662 -0.033096 -1548 251 252 252
70536.773270 31212.970322 -0.115891 -1434 155 158 163
70533.530777 31215.270828 -0.154770 -1550 148 152 156
70533.555923 31215.341599 -0.138809 -1480 150 154 158

Ответы на вопрос(11)

Ваш ответ на вопрос