Извлечь ZipFile с помощью Python, отобразить Процент Процент?

Я знаю, как извлечь zip-архив с помощью Python, но как именно я показываю ход этого извлечения в процентах?

    One Solution collect form web for “Извлечь ZipFile с помощью Python, отобразить Процент Процент?”

    метод извлечения не обеспечивает обратного вызова для этого, поэтому нужно было бы использовать getinfo для получения несжатого размера e, а затем открыть файл, считанный из него в блоках, и записать его в место, куда вы хотите, чтобы файл был включен, и обновить в процентах тоже нужно было бы восстановить mtime, если это требуется:

     import zipfile z = zipfile.ZipFile(some_source) entry_info = z.getinfo(entry_name) i = z.open(entry_name) o = open(target_name, 'w') offset = 0 while True: b = i.read(block_size) offset += len(b) set_percentage(float(offset)/float(entry_info.file_size) * 100.) if b == '': break o.write(b) i.close() o.close() set_attributes_from(entry_info) 

    это извлекает entry_name для target_name


    большая часть этого также выполняется с помощью shutil.copyfileobj но у него нет возврата к успеху либо

    источник метода _extract_member вызывает _extract_member :

     source = self.open(member, pwd=pwd) target = file(targetpath, "wb") shutil.copyfileobj(source, target) source.close() target.close() 

    где член был преобразован из имени в объект getinfo(member) помощью getinfo(member) если он не был объектом ZipInfo

    Python - лучший язык программирования в мире.