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

diff --git a/Tools/scripts/nm2def.py b/Tools/scripts/nm2def.py
index 83bbcd7..a885ebd 100755
--- a/Tools/scripts/nm2def.py
+++ b/Tools/scripts/nm2def.py
@@ -42,7 +42,8 @@
 
 def symbols(lib=PYTHONLIB,types=('T','C','D')):
 
-    lines = os.popen(NM % lib).readlines()
+    with os.popen(NM % lib) as pipe:
+        lines = pipe.readlines()
     lines = [s.strip() for s in lines]
     symbols = {}
     for line in lines:
@@ -97,7 +98,7 @@
     exports = export_list(s)
     f = sys.stdout # open('PC/python_nt.def','w')
     f.write(DEF_TEMPLATE % (exports))
-    f.close()
+    # f.close()
 
 if __name__ == '__main__':
     main()