Monitor ZIP File Extraction Python
Question: I need to unzip a .ZIP archive. I already know how to unzip it, but it is a
huge file and takes some time to extract. How would I print the percentage
complete for the extraction? I would like something like this:

    
    
    Extracting File
    1% Complete
    2% Complete
    etc, etc
    


Answer: here an example that you can start with, it's not optimized:

    
    
    import zipfile
    
    zf = zipfile.ZipFile('test.zip')
    
    uncompress_size = sum((file.file_size for file in zf.infolist()))
    
    extracted_size = 0
    
    for file in zf.infolist():
        extracted_size += file.file_size
        print "%s %%" % (extracted_size * 100/uncompress_size)
        zf.extract(file)
    

to make it more beautiful do this when printing:

    
    
     print "%s %%\r" % (extracted_size * 100/uncompress_size),
    

