code: def open_zip(path, *args, **kwargs):
    
    with contextlib.closing(PermPreservingZipFile(path, *args, **kwargs)) as zip:
      yield zip
docs: A contextmanager for zip files.  Passes through positional and kwargs to zipfile.ZipFile.