From 30af2e737aad427d4da97f8dadeeecff6c2b28f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Schoentgen?= Date: Mon, 3 Sep 2018 03:48:08 +0200 Subject: bpo-34500: Fix ResourceWarning in difflib.py (GH-8926) The change to Tools/scripts/diff.py effectively backports part of a2637729f23dc993e820fd92f0d1759ad714c9b2. The test code changed in Doc/library/difflib.rst is not present in current 3.x. --- Doc/library/difflib.rst | 6 ++++-- .../next/Tools-Demos/2018-08-25-17-13-24.bpo-34500.Edz41x.rst | 1 + Tools/scripts/diff.py | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Tools-Demos/2018-08-25-17-13-24.bpo-34500.Edz41x.rst diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst index c6bf3ef..01a3bfc 100644 --- a/Doc/library/difflib.rst +++ b/Doc/library/difflib.rst @@ -757,8 +757,10 @@ It is also contained in the Python source distribution, as # we're passing these as arguments to the diff function fromdate = time.ctime(os.stat(fromfile).st_mtime) todate = time.ctime(os.stat(tofile).st_mtime) - fromlines = open(fromfile, 'U').readlines() - tolines = open(tofile, 'U').readlines() + with open(fromfile, 'U') as f: + fromlines = f.readlines() + with open(tofile, 'U') as f: + tolines = f.readlines() if options.u: diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-08-25-17-13-24.bpo-34500.Edz41x.rst b/Misc/NEWS.d/next/Tools-Demos/2018-08-25-17-13-24.bpo-34500.Edz41x.rst new file mode 100644 index 0000000..27ca06f --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2018-08-25-17-13-24.bpo-34500.Edz41x.rst @@ -0,0 +1 @@ +Fix 2 ResourceWarning in difflib.py. Patch by Mickaƫl Schoentgen. diff --git a/Tools/scripts/diff.py b/Tools/scripts/diff.py index 513e2a7..c4c2e10 100755 --- a/Tools/scripts/diff.py +++ b/Tools/scripts/diff.py @@ -32,8 +32,10 @@ def main(): fromdate = time.ctime(os.stat(fromfile).st_mtime) todate = time.ctime(os.stat(tofile).st_mtime) - fromlines = open(fromfile, 'U').readlines() - tolines = open(tofile, 'U').readlines() + with open(fromfile, 'U') as f: + fromlines = f.readlines() + with open(tofile, 'U') as f: + tolines = f.readlines() if options.u: diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n) -- cgit v0.12