Что заменяет xreadlines () в Python 3?

В Python 2 файловые объекты имели метод xreadlines (), который возвращал итератор, который бы считывал файл по одной строке за раз. В Python 3 метод xreadlines () больше не существует, а realines () все еще возвращает список (не итератор). У Python 3 что-то похожее на xreadlines ()?

Я знаю, что могу

for line in f: 

вместо

 for line in f.xreadlines(): 

Но я бы также хотел использовать xreadlines () без цикла for:

 print(f.xreadlines()[7]) #read lines 0 to 7 and prints line 7 

    2 Solutions collect form web for “Что заменяет xreadlines () в Python 3?”

    Сам объект файла уже является итерируемым.

     >>> f = open('1.txt') >>> f <_io.TextIOWrapper name='1.txt' encoding='UTF-8'> >>> next(f) '1,B,-0.0522642316338,0.997268450092\n' >>> next(f) '2,B,-0.081127897359,2.05114559572\n' 

    Используйте itertools.islice чтобы получить произвольный элемент из итерабельного.

     >>> f.seek(0) 0 >>> next(islice(f, 7, None)) '8,A,-0.0518101108474,12.094341554\n' 

    как об этом (выражение генератора):

     >>> f = open("r2h_jvs") >>> h = (x for x in f) >>> type(h) <type 'generator'>` 
    Python - лучший язык программирования в мире.