D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
hc_python
/
lib64
/
python3.8
/
site-packages
/
importlib_resources
/
tests
/
Filename :
zip.py
back
Copy
""" Generate zip test data files. """ import contextlib import os import pathlib import zipfile import zipp def make_zip_file(src, dst): """ Zip the files in src into a new zipfile at dst. """ with zipfile.ZipFile(dst, 'w') as zf: for src_path, rel in walk(src): dst_name = src.name / pathlib.PurePosixPath(rel.as_posix()) zf.write(src_path, dst_name) zipp.CompleteDirs.inject(zf) return dst def walk(datapath): for dirpath, dirnames, filenames in os.walk(datapath): with contextlib.suppress(ValueError): dirnames.remove('__pycache__') for filename in filenames: res = pathlib.Path(dirpath) / filename rel = res.relative_to(datapath) yield res, rel