bpo-22831: Use "with" to avoid possible fd leaks in tools (part 2). (GH-10927)

diff --git a/Tools/scripts/md5sum.py b/Tools/scripts/md5sum.py
index 9cf4bdc..f910576 100755
--- a/Tools/scripts/md5sum.py
+++ b/Tools/scripts/md5sum.py
@@ -47,10 +47,10 @@
     except IOError as msg:
         sys.stderr.write('%s: Can\'t open: %s\n' % (filename, msg))
         return 1
-    if fnfilter:
-        filename = fnfilter(filename)
-    sts = printsumfp(fp, filename, out)
-    fp.close()
+    with fp:
+        if fnfilter:
+            filename = fnfilter(filename)
+        sts = printsumfp(fp, filename, out)
     return sts
 
 def printsumfp(fp, filename, out=sys.stdout):