diff --git a/Lib/argparse.py b/Lib/argparse.py index 881dfda6d4d932..429a72ab7841e7 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -84,7 +84,7 @@ 'ZERO_OR_MORE', ] -import atexit as _atexit + import os as _os import re as _re import sys as _sys @@ -1268,12 +1268,8 @@ def __call__(self, string): # 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 a1df84c0d6779e..5e66a2e757adf6 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 5358b0e71715e2..00000000000000 --- 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.