From c77953b23e4b864129edf7983eaa6a0d22414ec6 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 21 Apr 2022 03:10:51 +0200 Subject: Revert "gh-85567: Register a cleanup function to close files for FileType objects in argparse (#32257)" (#91771) This reverts commit 328dbc051f84bd5fdf61101bb4fa61d85f8b7feb. --- Lib/argparse.py | 10 +++------- Misc/ACKS | 1 - .../next/Library/2022-04-02-14-40-53.bpo-41395.Y1ZVvT.rst | 3 --- 3 files changed, 3 insertions(+), 11 deletions(-) delete mode 100644 Misc/NEWS.d/next/Library/2022-04-02-14-40-53.bpo-41395.Y1ZVvT.rst diff --git a/Lib/argparse.py b/Lib/argparse.py index 881dfda..429a72a 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -84,7 +84,7 @@ __all__ = [ 'ZERO_OR_MORE', ] -import atexit as _atexit + import os as _os import re as _re import sys as _sys @@ -1268,12 +1268,8 @@ class FileType(object): # all other arguments are used as file names try: - fh = open(string, self._mode, self._bufsize, self._encoding, self._errors) - - # Register cleanup function to close file - _atexit.register(fh.close) - - return fh + return open(string, self._mode, self._bufsize, self._encoding, + self._errors) except OSError as e: args = {'filename': string, 'error': e} message = _("can't open '%(filename)s': %(error)s") diff --git a/Misc/ACKS b/Misc/ACKS index a1df84c..5e66a2e 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -313,7 +313,6 @@ Nicolas Chauvat Jerry Chen Michael Chermside Ingrid Cheung -Adam Chhina Terry Chia Albert Chin-A-Young Adal Chiriliuc diff --git a/Misc/NEWS.d/next/Library/2022-04-02-14-40-53.bpo-41395.Y1ZVvT.rst b/Misc/NEWS.d/next/Library/2022-04-02-14-40-53.bpo-41395.Y1ZVvT.rst deleted file mode 100644 index 5358b0e..0000000 --- a/Misc/NEWS.d/next/Library/2022-04-02-14-40-53.bpo-41395.Y1ZVvT.rst +++ /dev/null @@ -1,3 +0,0 @@ -FileType objects from argparse may not be closed and lead to -ResourceWarning. Register a file.close function with atexit for FileType -objects to ensure they are closed. Patch Contributed by Adam Chhina. -- cgit v0.12