Некоторое время назад я создал Python script, который выглядел примерно так:
with open("somefile.txt", "r") as f, open("otherfile.txt", "a") as w:
for line in f:
w.write(line)
Что, конечно, довольно медленно работало в файле 100mb
.
Однако я изменил программу, чтобы сделать это
ls = []
with open("somefile.txt", "r") as f, open("otherfile.txt", "a") as w:
for line in f:
ls.append(line)
if len(ls) == 100000:
w.writelines(ls)
del ls[:]
И файл копируется намного быстрее. Мой вопрос: почему второй метод работает быстрее, хотя программа копирует одно и то же количество строк (хотя и собирает их и печатает их по одному)?