Optimización de búsqueda y reemplazo sobre archivos grandes en Python

soy uncompleto principiante a Python o cualquier lenguaje de programación serio para el caso. Finalmente conseguí un prototipo de código para trabajar, pero creo que será demasiado lento.

Mi objetivo es encontrar y reemplazar algunos caracteres chinos en todos los archivos (son csv) en un directorio con enteros según un archivo csv que tengo. Los archivos están bien numerados por año-mes, por ejemplo 2000-01.csv, y serán los únicos archivos en ese directorio.

Voy a recorrer alrededor de 25 archivos que están en el vecindario de 500mb cada uno (y alrededor de un millón de líneas). El diccionario que usaré tendrá aproximadamente 300 elementos y cambiaré unicode (caracteres chinos) a enteros. Intenté con una prueba de funcionamiento y, suponiendo que todo se amplíe linealmente (?), Parece que tomaría aproximadamente una semana para que esto se ejecute.

Gracias por adelantado. Aquí está mi código (¡no te rías!):

# -*- coding: utf-8 -*-

import os, codecs

dir = "C:/Users/Roy/Desktop/test/"

Dict = {'hello' : 'good', 'world' : 'bad'}

for dirs, subdirs, files in os.walk(dir):
    for file in files:
        inFile = codecs.open(dir + file, "r", "utf-8")
        inFileStr = inFile.read()
        inFile.close()
        inFile = codecs.open(dir + file, "w", "utf-8")
        for key in Dict:
            inFileStr = inFileStr.replace(key, Dict[key])
        inFile.write(inFileStr)
        inFile.close()

Respuestas a la pregunta(4)

Su respuesta a la pregunta