Мне всегда нравится обрабатывать файлы, используя конвейерный подход, таким образом, вы можете использовать параллелизм, если ваш ввод становится действительно большим.В любом случае, вы можете легко проверить производительность, используя %timeit
, если вы используете ipython, но вот что я бы сделал:
processed = ""
def replace_char(line, char, replacement):
return line.replace(char, replacement)
with open('SOME_PATH') as fh:
processed += replace_char(replace_char(fh.read(), ":", " "), ",", "")
print(processed)
# OUTPUT
# 06 38 34 16.09.2017 739648.41186077976.8575 54.791616 12.727939
# 06 38 35 16.09.2017 739647.06286077975.6925 54.791606 12.727917
С этим подходом, если вы хотите внести изменения в способ обработкифайл все, что вам нужно сделать, это изменить replace_char или написать другую функцию, если хотите.Если вам нужен параллелизм, вы можете использовать пакеты multiprocessing
или asyncio
.