summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/functions.rst25
1 files changed, 7 insertions, 18 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 427f864..0497d45 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
- <listiterator object at 0x86b50>
- >>> iterator.next()
- 0
- >>> iterator.next()
- 1
- >>> def my_generator():
- ... for i in range(10):
- ... yield i
- ...
- >>> iterator = iter(my_generator().next, 7)
- >>> iterator
- <callable-iterator object at 0x86bb0>
- >>> 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