]> granicus.if.org Git - python/commitdiff
Issue #18151: Replace remaining Idle 'open...close' pairs with 'with open'.
authorTerry Jan Reedy <tjreedy@udel.edu>
Sun, 4 Aug 2013 19:39:03 +0000 (15:39 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Sun, 4 Aug 2013 19:39:03 +0000 (15:39 -0400)
Lib/idlelib/EditorWindow.py
Lib/idlelib/IOBinding.py
Lib/idlelib/ScriptBinding.py

index 24f133fa9b19ba4e7b10838c73d5f8e56887b113..c9ad364c2c89de6667f5791d5b2d7feba14e01c1 100644 (file)
@@ -882,12 +882,9 @@ class EditorWindow(object):
         "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',
-                                encoding='utf_8', errors='replace')
-            try:
+            with open(self.recent_files_path, 'r',
+                      encoding='utf_8', errors='replace') 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:
index 37a11ad6adbc67b6c316ced448d3a12459dadfac..4558ae6c37826e63d88181268b2d9969127a7c49 100644 (file)
@@ -208,11 +208,10 @@ class IOBinding:
         try:
             # open the file in binary mode so that we can handle
             # end-of-line convention ourselves.
-            f = open(filename,'rb')
-            two_lines = f.readline() + f.readline()
-            f.seek(0)
-            bytes = f.read()
-            f.close()
+            with open(filename, 'rb') as f:
+                two_lines = f.readline() + f.readline()
+                f.seek(0)
+                bytes = f.read()
         except OSError as msg:
             tkMessageBox.showerror("I/O Error", str(msg), master=self.text)
             return False
@@ -373,10 +372,8 @@ class IOBinding:
             text = text.replace("\n", self.eol_convention)
         chars = self.encode(text)
         try:
-            f = open(filename, "wb")
-            f.write(chars)
-            f.flush()
-            f.close()
+            with open(filename, "wb") as f:
+                f.write(chars)
             return True
         except OSError as msg:
             tkMessageBox.showerror("I/O Error", str(msg),
index 528adf67a611f4c0590d696f0261cac18a92be00..6bfe128e3ce82ce960d9bbcc66bf0e5fd3023de4 100644 (file)
@@ -87,9 +87,8 @@ class ScriptBinding:
         self.shell = shell = self.flist.open_shell()
         saved_stream = shell.get_warning_stream()
         shell.set_warning_stream(shell.stderr)
-        f = open(filename, 'rb')
-        source = f.read()
-        f.close()
+        with open(filename, 'rb') as f:
+            source = f.read()
         if b'\r' in source:
             source = source.replace(b'\r\n', b'\n')
             source = source.replace(b'\r', b'\n')