[Python-checkins] cpython (2.7): Issue #18151: Replace remaining Idle 'open...close' pairs with 'with open'.

terry.reedy python-checkins at python.org
Sun Aug 4 21:40:25 CEST 2013


http://hg.python.org/cpython/rev/7f6661a90d02
changeset:   85032:7f6661a90d02
branch:      2.7
parent:      85018:b3efc140d8a6
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Sun Aug 04 15:39:56 2013 -0400
summary:
  Issue #18151: Replace remaining Idle 'open...close' pairs with 'with open'.

files:
  Lib/idlelib/EditorWindow.py  |   5 +----
  Lib/idlelib/IOBinding.py     |  11 ++++-------
  Lib/idlelib/ScriptBinding.py |   5 ++---
  3 files changed, 7 insertions(+), 14 deletions(-)


diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -894,11 +894,8 @@
         "Load and update the recent files list and menus"
         rf_list = []
         if os.path.exists(self.recent_files_path):
-            rf_list_file = open(self.recent_files_path,'r')
-            try:
+            with  open(self.recent_files_path, 'r') as rf_list_file:
                 rf_list = rf_list_file.readlines()
-            finally:
-                rf_list_file.close()
         if new_file:
             new_file = os.path.abspath(new_file) + '\n'
             if new_file in rf_list:
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py
--- a/Lib/idlelib/IOBinding.py
+++ b/Lib/idlelib/IOBinding.py
@@ -248,9 +248,8 @@
         try:
             # open the file in binary mode so that we can handle
             #   end-of-line convention ourselves.
-            f = open(filename,'rb')
-            chars = f.read()
-            f.close()
+            with open(filename, 'rb') as f:
+                chars = f.read()
         except IOError as msg:
             tkMessageBox.showerror("I/O Error", str(msg), master=self.text)
             return False
@@ -383,10 +382,8 @@
         if self.eol_convention != "\n":
             chars = chars.replace("\n", self.eol_convention)
         try:
-            f = open(filename, "wb")
-            f.write(chars)
-            f.flush()
-            f.close()
+            with open(filename, "wb") as f:
+                f.write(chars)
             return True
         except IOError as msg:
             tkMessageBox.showerror("I/O Error", str(msg),
diff --git a/Lib/idlelib/ScriptBinding.py b/Lib/idlelib/ScriptBinding.py
--- a/Lib/idlelib/ScriptBinding.py
+++ b/Lib/idlelib/ScriptBinding.py
@@ -87,9 +87,8 @@
         self.shell = shell = self.flist.open_shell()
         saved_stream = shell.get_warning_stream()
         shell.set_warning_stream(shell.stderr)
-        f = open(filename, 'r')
-        source = f.read()
-        f.close()
+        with open(filename, 'r') as f:
+            source = f.read()
         if '\r' in source:
             source = re.sub(r"\r\n", "\n", source)
             source = re.sub(r"\r", "\n", source)

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list