Index: Lib/test/test_tempfile.py =================================================================== --- Lib/test/test_tempfile.py (revision 78212) +++ Lib/test/test_tempfile.py (working copy) @@ -364,9 +364,8 @@ # defaults to writing into the directory returned by # gettempdir. try: - file = tempfile.NamedTemporaryFile() - file.write("blat") - file.close() + with tempfile.NamedTemporaryFile() as file: + file.write("blat") except: self.failOnException("create file in %s" % tempfile.gettempdir()) @@ -577,17 +576,16 @@ def test_creates_named(self): # NamedTemporaryFile creates files with names - f = tempfile.NamedTemporaryFile() - self.assertTrue(os.path.exists(f.name), - "NamedTemporaryFile %s does not exist" % f.name) + with tempfile.NamedTemporaryFile() as f: + self.assertTrue(os.path.exists(f.name), + "NamedTemporaryFile %s does not exist" % f.name) def test_del_on_close(self): # A NamedTemporaryFile is deleted when closed dir = tempfile.mkdtemp() try: - f = tempfile.NamedTemporaryFile(dir=dir) - f.write('blat') - f.close() + with tempfile.NamedTemporaryFile(dir=dir) as f: + f.write('blat') self.assertFalse(os.path.exists(f.name), "NamedTemporaryFile %s exists after close" % f.name) finally: @@ -598,11 +596,10 @@ dir = tempfile.mkdtemp() tmp = None try: - f = tempfile.NamedTemporaryFile(dir=dir, delete=False) - tmp = f.name - f.write('blat') - f.close() - self.assertTrue(os.path.exists(f.name), + with tempfile.NamedTemporaryFile(dir=dir, delete=False) as f: + tmp = f.name + f.write('blat') + self.assertTrue(os.path.exists(f.name), "NamedTemporaryFile %s missing after close" % f.name) finally: if tmp is not None: @@ -611,9 +608,8 @@ def test_multiple_close(self): # A NamedTemporaryFile can be closed many times without error - f = tempfile.NamedTemporaryFile() - f.write('abc\n') - f.close() + with tempfile.NamedTemporaryFile() as f: + f.write('abc\n') try: f.close() f.close() @@ -641,7 +637,8 @@ if dir is None: dir = tempfile.gettempdir() try: - file = tempfile.SpooledTemporaryFile(max_size=max_size, dir=dir, prefix=pre, suffix=suf) + file = tempfile.SpooledTemporaryFile(max_size=max_size, dir=dir, + prefix=pre, suffix=suf) except: self.failOnException("SpooledTemporaryFile") @@ -659,12 +656,11 @@ # A SpooledTemporaryFile is deleted when closed dir = tempfile.mkdtemp() try: - f = tempfile.SpooledTemporaryFile(max_size=10, dir=dir) - self.assertFalse(f._rolled) - f.write('blat ' * 5) - self.assertTrue(f._rolled) - filename = f.name - f.close() + with tempfile.SpooledTemporaryFile(max_size=10, dir=dir) as f: + self.assertFalse(f._rolled) + f.write('blat ' * 5) + self.assertTrue(f._rolled) + filename = f.name self.assertFalse(os.path.exists(filename), "SpooledTemporaryFile %s exists after close" % filename) finally: @@ -710,10 +706,9 @@ def test_multiple_close_before_rollover(self): # A SpooledTemporaryFile can be closed many times without error - f = tempfile.SpooledTemporaryFile() - f.write('abc\n') - self.assertFalse(f._rolled) - f.close() + with tempfile.SpooledTemporaryFile() as f: + f.write('abc\n') + self.assertFalse(f._rolled) try: f.close() f.close() @@ -722,10 +717,9 @@ def test_multiple_close_after_rollover(self): # A SpooledTemporaryFile can be closed many times without error - f = tempfile.SpooledTemporaryFile(max_size=1) - f.write('abc\n') - self.assertTrue(f._rolled) - f.close() + with tempfile.SpooledTemporaryFile(max_size=1) as f: + f.write('abc\n') + self.assertTrue(f._rolled) try: f.close() f.close() @@ -773,12 +767,12 @@ def test_context_manager_after_rollover(self): # A SpooledTemporaryFile can be used as a context manager - f = tempfile.SpooledTemporaryFile(max_size=1) - f.write('abc\n') - f.flush() - self.assertTrue(f._rolled) - with f: - self.assertFalse(f.closed) + with tempfile.SpooledTemporaryFile(max_size=1) as f: + f.write('abc\n') + f.flush() + self.assertTrue(f._rolled) + with f: + self.assertFalse(f.closed) self.assertTrue(f.closed) def use_closed(): with f: @@ -803,25 +797,23 @@ def test_has_no_name(self): # TemporaryFile creates files with no names (on this system) dir = tempfile.mkdtemp() - f = tempfile.TemporaryFile(dir=dir) - f.write('blat') + with tempfile.TemporaryFile(dir=dir) as f: + f.write('blat') - # Sneaky: because this file has no name, it should not prevent - # us from removing the directory it was created in. - try: - os.rmdir(dir) - except: - ei = sys.exc_info() - # cleanup - f.close() - os.rmdir(dir) - self.failOnException("rmdir", ei) + # Sneaky: because this file has no name, it should not prevent + # us from removing the directory it was created in. + try: + os.rmdir(dir) + except: + ei = sys.exc_info() + # cleanup + os.rmdir(dir) + self.failOnException("rmdir", ei) def test_multiple_close(self): # A TemporaryFile can be closed many times without error - f = tempfile.TemporaryFile() - f.write('abc\n') - f.close() + with tempfile.TemporaryFile() as f: + f.write('abc\n') try: f.close() f.close()