/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson5/Iterators/task_iter_2.py
24 строки
2 KB
Ivan-Khabarov
Добавлена лекция 5
08 сен 2024, 10:16
08 сен 2024, 10:16
72f79b2
Код
Авторство
О чём код?
# Второй параметр функции iter — sentinel передают для вызываемых # объектов-итераторов. Параметр указывает в какой момент должна быть завершена # итерация, при совпадении возвращаемого значения со значением sentinel. data = [2, 4, 6, 8] # list_iter = iter(data, 6) # TypeError: iter(v, w): v must be callable # Список не является функцией, его нельзя вызвать. Получили ошибку TypeError. # Один из вариантов работы функции iter с двумя параметрами — чтение бинарного # файла блоками фиксированного размера до тех пор, пока не будет достигнут конец # файла. import functools f = open('mydata.bin', 'rb') for block in iter(functools.partial(f.read, 16), b''): print(block) f.close() # Подробнее работу с файлами разберём на одной из следующих лекций. А сейчас # коротко. Открыли бинарный файл на чтение байт. В цикле считываем блоки по 16 # байт и выводим их на печать. Чтение прекратиться после считывание пустого байта # b’’, окончания файла. После этого выходим из цикла и закрываем файл.