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

diff --git a/Tools/scripts/combinerefs.py b/Tools/scripts/combinerefs.py
index 7ca9526..49ccca7 100755
--- a/Tools/scripts/combinerefs.py
+++ b/Tools/scripts/combinerefs.py
@@ -85,9 +85,7 @@
         else:
             break
 
-def combine(fname):
-    f = open(fname)
-
+def combinefile(f):
     fi = iter(f)
 
     for line in read(fi, re.compile(r'^Remaining objects:$'), False):
@@ -121,8 +119,11 @@
             print('[%s->%s]' % (addr2rc[addr], rc), end=' ')
         print(guts, addr2guts[addr])
 
-    f.close()
     print("%d objects before, %d after" % (before, after))
 
+def combine(fname):
+    with open(fname) as f:
+        combinefile(f)
+
 if __name__ == '__main__':
     combine(sys.argv[1])