From 06919a177d30f4459323caa1106825a32c68bb2e Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Wed, 18 Mar 2009 20:58:09 +0000 Subject: [PATCH] a much better example --- Doc/library/functions.rst | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 427f864a37..0497d456b0 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -596,24 +596,13 @@ available. They are listed here in alphabetical order. its :meth:`next` method; if the value returned is equal to *sentinel*, :exc:`StopIteration` will be raised, otherwise the value will be returned. - Example usage: :: - - >>> iterator = iter(range(10)) - >>> iterator - - >>> iterator.next() - 0 - >>> iterator.next() - 1 - >>> def my_generator(): - ... for i in range(10): - ... yield i - ... - >>> iterator = iter(my_generator().next, 7) - >>> iterator - - >>> list(iterator) - [0, 1, 2, 3, 4, 5, 6] + One useful application of the second form of :func:`iter` is to read lines of + a file until a certain line is reached. The following example reads a file + until ``"STOP"`` is reached: :: + + with open("mydata.txt") as fp: + for line in iter(fp.readline, "STOP"): + process_line(line) .. versionadded:: 2.2 -- 2.50.1