From d378b1f8ed7919f65a89f026bc899204be3773d4 Mon Sep 17 00:00:00 2001 From: Chris Rands Date: Mon, 24 Dec 2018 06:07:17 +0100 Subject: [PATCH] bpo-34764: improve docs example of iter() with sentinel value (GH-11222) --- Doc/library/functions.rst | 13 +++++++------ .../2018-12-23-23-52-31.bpo-34764.DwOGeT.rst | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2018-12-23-23-52-31.bpo-34764.DwOGeT.rst diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 24a158fd5a8..b49d752b16a 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -810,13 +810,14 @@ are always available. They are listed here in alphabetical order. 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) diff --git a/Misc/NEWS.d/next/Documentation/2018-12-23-23-52-31.bpo-34764.DwOGeT.rst b/Misc/NEWS.d/next/Documentation/2018-12-23-23-52-31.bpo-34764.DwOGeT.rst new file mode 100644 index 00000000000..d2a7f1b52b7 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2018-12-23-23-52-31.bpo-34764.DwOGeT.rst @@ -0,0 +1 @@ +Improve example of iter() with 2nd sentinel argument. \ No newline at end of file