[Python-checkins] bpo-42958: Improve description of shallow= in filecmp.cmp docs (GH-27166)

ambv webhook-mailer at python.org
Wed Aug 4 15:39:55 EDT 2021

commit: a8dc4893d2b28827e82447326ea47759c161a722
branch: main
author: andrei kulakov <andrei.avk at gmail.com>
committer: ambv <lukasz at langa.pl>
date: 2021-08-04T21:39:45+02:00

bpo-42958: Improve description of shallow= in filecmp.cmp docs (GH-27166)

Co-authored-by: Łukasz Langa <lukasz at langa.pl>
Co-authored-by: Alexander Vandenbulcke <alexander.vandenbulcke95 at gmail.com>

A Misc/NEWS.d/next/Documentation/2021-07-15-11-19-03.bpo-42958.gC5IHM.rst
M Doc/library/filecmp.rst
M Lib/filecmp.py

diff --git a/Doc/library/filecmp.rst b/Doc/library/filecmp.rst
index c60603b30a6d7..83e9e14ddcacd 100644
--- a/Doc/library/filecmp.rst
+++ b/Doc/library/filecmp.rst
@@ -22,8 +22,11 @@ The :mod:`filecmp` module defines the following functions:
    Compare the files named *f1* and *f2*, returning ``True`` if they seem equal,
    ``False`` otherwise.
-   If *shallow* is true, files with identical :func:`os.stat` signatures are
-   taken to be equal.  Otherwise, the contents of the files are compared.
+   If *shallow* is true and the :func:`os.stat` signatures (file type, size, and
+   modification time) of both files are identical, the files are taken to be
+   equal.
+   Otherwise, the files are treated as different if their sizes or contents differ.
    Note that no external programs are called from this function, giving it
    portability and efficiency.
diff --git a/Lib/filecmp.py b/Lib/filecmp.py
index 7c47eb022cc8c..70a4b23c98220 100644
--- a/Lib/filecmp.py
+++ b/Lib/filecmp.py
@@ -36,8 +36,9 @@ def cmp(f1, f2, shallow=True):
     f2 -- Second file name
-    shallow -- Just check stat signature (do not read the files).
-               defaults to True.
+    shallow -- treat files as identical if their stat signatures (type, size,
+               mtime) are identical. Otherwise, files are considered different
+               if their sizes or contents differ.  [default: True]
     Return value:
diff --git a/Misc/NEWS.d/next/Documentation/2021-07-15-11-19-03.bpo-42958.gC5IHM.rst b/Misc/NEWS.d/next/Documentation/2021-07-15-11-19-03.bpo-42958.gC5IHM.rst
new file mode 100644
index 0000000000000..c93b84d095526
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2021-07-15-11-19-03.bpo-42958.gC5IHM.rst
@@ -0,0 +1,2 @@
+Updated the docstring and docs of :func:`filecmp.cmp` to be more accurate
+and less confusing especially in respect to *shallow* arg.

More information about the Python-checkins mailing list