mirror of https://github.com/python/cpython
GH-92184: Convert os.altsep to '/' in filenames when creating ZipInfo objects (#92185)
This causes the zipfile module to also consider the character defined by `os.altsep` (if there is one) to be a path separator and convert it to a forward slash, as defined by the zip specification. A logical no-op on all known platforms today as os.altsep is currently only set to a meaningful value on Windows (where it is "/").
This commit is contained in:
parent
fcd5fb49b1
commit
4abfe6a14b
|
@ -352,6 +352,8 @@ def _sanitize_filename(filename):
|
|||
# ZIP format specification.
|
||||
if os.sep != "/" and os.sep in filename:
|
||||
filename = filename.replace(os.sep, "/")
|
||||
if os.altsep and os.altsep != "/" and os.altsep in filename:
|
||||
filename = filename.replace(os.altsep, "/")
|
||||
return filename
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
When creating zip files using :mod:`zipfile`, ``os.altsep``, if not ``None``,
|
||||
will always be treated as a path separator even when it is not ``/``.
|
||||
Patch by Carey Metcalfe.
|
Loading…
Reference in New Issue