Make test_import a little bit more robust for cleaning up after itself in the
face of a failure.
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 512759d..929caa6 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -147,22 +147,24 @@
         filename = module + '.py'
 
         # Create a file with a list of 65000 elements.
-        with open(filename, 'w+') as f:
+        with open(filename, 'w') as f:
             f.write('d = [\n')
             for i in range(65000):
                 f.write('"",\n')
             f.write(']')
 
-        # Compile & remove .py file; we only need .pyc (or .pyo).
-        # Bytecode must be relocated from the PEP 3147 bytecode-only location.
-        py_compile.compile(filename)
-        unlink(filename)
-        make_legacy_pyc(filename)
+        try:
+            # Compile & remove .py file; we only need .pyc (or .pyo).
+            # Bytecode must be relocated from the PEP 3147 bytecode-only location.
+            py_compile.compile(filename)
+        finally:
+            unlink(filename)
 
         # Need to be able to load from current dir.
         sys.path.append('')
 
         try:
+            make_legacy_pyc(filename)
             # This used to crash.
             exec('import ' + module)
         finally: