В Python, зачем нам нужны readlines(), когда мы можем перебирать сам дескриптор файла?
В Python после
fh = open('file.txt')
для перебора строк можно сделать следующее:
for l in fh:
pass
Тогда почему мы имеем fh.readlines()?
Ответ 1
Я бы предположил, что он из файлов раньше был итератором и поддерживается для обратной совместимости. Даже для однострочного, он полностью 1 довольно избыточный, поскольку list(fh) сделает то же самое более интуитивным способом. Это также дает вам свободу делать set(fh), tuple(fh) и т.д.
В основном, для обратной совместимости. readlines был там, прежде чем объекты файла были итерируемыми
Использование readlines с аргументом size также является одним из самых быстрых способов чтения из файлов, поскольку он считывает кучу данных одним ударом, но не требует выделения памяти для всего файла одновременно
Ответ 3
readlines() возвращает список строк, которые вы можете захотеть, если вы не планируете выполнять итерацию по каждой строке.