bpo-34764: improve docs example of iter() with sentinel value (GH-11222) (#11301)
(cherry picked from commit d378b1f8ed7919f65a89f026bc899204be3773d4)
Co-authored-by: Chris Rands <c_rands100@hotmail.com>
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 5e37204..ec33883 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -809,13 +809,14 @@
See also :ref:`typeiter`.
- 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 the :meth:`~io.TextIOBase.readline` method returns an empty string::
+ One useful application of the second form of :func:`iter` is to build a
+ block-reader. For example, reading fixed-width blocks from a binary
+ database file until the end of file is reached::
- with open('mydata.txt') as fp:
- for line in iter(fp.readline, ''):
- process_line(line)
+ from functools import partial
+ with open('mydata.db', 'rb') as f:
+ for block in iter(partial(f.read, 64), ''):
+ process_block(block)
.. function:: len(s)