Dmitriy_b
Сен. 9, 2017 10:53:23
Ребят, не совсем ясно что имеется ввиду когда сравниваются две возможности считывания строк из файла.
Первый - понятен с помощью метода f.readline() . Со вторым методом f.__next__ неясно как его проверить.
f=open(test.py)
f.__next__()
Выдает
AttributeError: ‘file’ object has no attribute ‘__next__’
Как в таком случае воспользоваться __next__ чтоб увидеть как оно работает?
Спасибо.
Stright
Сен. 9, 2017 11:08:04
Предположу, что вы используете вторую ветку python, в ней у итераторов есть метод iterator.next(), который в третьей ветке был переименован в __next__()
Dmitriy_b
Сен. 9, 2017 11:11:17
да действительно, 2.7 версия, спасибо, не подумал
py.user.next
Сен. 10, 2017 05:15:56
Dmitriy_b
Как в таком случае воспользоваться __next__ чтоб увидеть как оно работает?
Используй встроенную функцию next(). Она знает, куда обращаться в каждой версии питона.
>>> it = iter([1, 2, 3])
>>> next(it)
1
>>> next(it)
2
>>> next(it)
3
>>> next(it)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>