Разве эффективнее записывать в файл одним оператором, чем несколькими? - PullRequest
0 голосов
/ 21 сентября 2018

Я выполняю цикл, который записывает в файл около 10000 строк.Я искал, но не могу найти, эффективнее ли объединить строку в операторе записи или использовать несколько операторов записи.то есть:

f = open(fileName,"w+")

for item in list:
    f.write(str1 + str2 + str3 + item + "\n\n")

или

f = open(fileName,"w+")

for item in list:
    f.write(str1)
    f.write(str2)
    f.write(str3)
    f.write(item)
    f.write("\n\n")

Является ли первый или второй вариант более эффективным?

Я думаю, что об этом уже спрашивали, и я задаю вопросстранным образом, так что если кто-то может указать мне правильное направление, это было бы фантастически!

1 Ответ

0 голосов
/ 21 сентября 2018

Поведение по умолчанию для метода open, когда не указывается режим буферизации, состоит в том, чтобы следовать системному стандартному значению, которое обычно является строковым буферизацией.Это означает, что Python будет сбрасывать вывод в файл (т.е. выполнять операцию записи) для каждой новой строки, которую он находит.

Таким образом, я бы предположил в этом примере, что обе операции, с точки зрения производительности файлового ввода-вывода, эквивалентны, так как символ новой строки является последним выводом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...