Подтвердить что ты не робот

Различие между xreadlines и for-looping файла

Наличие файлового объекта в Python 2.7:

f = open('my_file', 'r')

В чем разница между циклом для файла (наиболее распространенным способом) и использованием функции xreadlines():

for line in f:
    # Do something with line

и

for line in f.xreadlines():
    # Do something with line

Я имею в виду, что обе опции определяют генератор, в отличие от функций readlines() или read(), которые загружают все содержимое файла в память.

Есть ли какая-либо производительность или улучшение обработки файлов в любом из них? Или это просто эквивалентные способы сделать то же самое?

4b9b3361

Ответ 1

От docs.python.org

file.xreadlines()
This method returns the same thing as iter(f).

New in version 2.1.

Deprecated since version 2.3: Use for line in file instead.

... и лучше использовать ключевое слово with при работе с файлами; снова просмотрите страницу документов.

with open('my_file', 'r') as f:
    for line in f:
        # do stuff