How to close zip file, from zipfile python

  python, windows, zipfile

When I try to unzip a file, and delete the old file, it says that its still running, so I used the close function, but it doesn’t close it.

Here is my code:

import zipfile
import os

onlineLatest = "testFile"
myzip = zipfile.ZipFile(f'{onlineLatest}.zip', 'r')
myzip.extractall(f'{onlineLatest}')
myzip.close()
os.remove(f"{onlineLatest}.zip")

And I get this error:

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'Version 0.1.2.zip'

Anyone know how to fix this?

Only other part that runs it before, but dont think its the problem:

    request = service.files().get_media(fileId=onlineVersionID)
    fh = io.FileIO(f'{onlineLatest}.zip', mode='wb')
    downloader = MediaIoBaseDownload(fh, request)
    done = False
    while done is False:
        status, done = downloader.next_chunk()
        print("Download %d%%." % int(status.progress() * 100))

    myzip = zipfile.ZipFile(f'{onlineLatest}.zip', 'r')
    myzip.extractall(f'{onlineLatest}')
    myzip.close()
    os.remove(f"{onlineLatest}.zip")

Source: Windows Questions

LEAVE A COMMENT