https://github.com/python/cpython/commit/7922b673f217efbf23fd8a1f5df3c20d5dd8e96d
commit: 7922b673f217efbf23fd8a1f5df3c20d5dd8e96d
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2026-08-07T19:15:31+02:00
summary:

gh-81954: Use lazy import warnings in zipfile (#155326)

Since there is "lazy import warnings" at top level, it's no longer
needed to import warnings explicitly in other places.

files:
M Lib/zipfile/__init__.py

diff --git a/Lib/zipfile/__init__.py b/Lib/zipfile/__init__.py
index 6c353b4ff850626..764bb9b1e9246f6 100644
--- a/Lib/zipfile/__init__.py
+++ b/Lib/zipfile/__init__.py
@@ -620,7 +620,6 @@ def _decodeExtra(self, filename_crc):
                         if up_unicode_name:
                             self.filename = _sanitize_filename(up_unicode_name)
                         else:
-                            import warnings
                             warnings.warn("Empty unicode path extra field 
(0x7075)", stacklevel=2)
                 except struct.error as e:
                     raise BadZipFile("Corrupt unicode path extra field 
(0x7075)") from e
@@ -2153,7 +2152,6 @@ def comment(self, comment):
             raise TypeError("comment: expected bytes, got %s" % 
type(comment).__name__)
         # check for valid comment length
         if len(comment) > ZIP_MAX_COMMENT:
-            import warnings
             warnings.warn('Archive comment is too long; truncating to %d bytes'
                           % ZIP_MAX_COMMENT, stacklevel=2)
             comment = comment[:ZIP_MAX_COMMENT]
@@ -2244,7 +2242,6 @@ def open(self, name, mode="r", pwd=None, *, 
force_zip64=False):
             if (zinfo._end_offset is not None and
                 zef_file.tell() + zinfo.compress_size > zinfo._end_offset):
                 if zinfo._end_offset == zinfo.header_offset:
-                    import warnings
                     warnings.warn(
                         f"Overlapped entries: {zinfo.orig_filename!r} "
                         f"(possible zip bomb)",
@@ -2494,7 +2491,6 @@ def _extract_member(self, member, targetpath, pwd):
     def _writecheck(self, zinfo):
         """Check for errors before writing a file to the archive."""
         if zinfo.filename in self.NameToInfo:
-            import warnings
             warnings.warn('Duplicate name: %r' % zinfo.filename, stacklevel=3)
         if self.mode not in ('w', 'x', 'a'):
             raise ValueError("write() requires mode 'w', 'x', or 'a'")

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to