def split_zip_path(path):

    drive, path = os.path.splitdrive(path)
    path_parts = get_path_parts(path)

    for i in range(len(path_parts)):
        front = os.path.join(drive, *path_parts[:i + 1])

        if path_parts[i + 1:]:
            tail = os.path.join(*path_parts[i + 1:])
        else:
            tail = ""

        if zipfile.is_zipfile(front):
            return front, tail

    return None, path
Takes a path that includes at most a single zip file as a directory and
dataset/ETHPy150Open brownhead/superzippy/superzippy/bootstrapper/zipsite.py/split_zip_path