Если возможно получить обратные вызовы прогресса из модуля python, я бы посоветовал выяснить, сколько байтов обрабатывается за секунду (просто сохраняя, где в файле вы находитесь, где в начале секунды, и где вы находитесь в конце) , Когда у вас есть данные о том, насколько быстро работает ваш компьютер, вы можете сохранить его и использовать его в качестве основы для следующего zip-файла. (Обычно я собираю около 5 образцов, прежде чем показывать прогноз времени)
Использование этого метода может дать вам минуты Microsoft , так что, когда вы получите больше образцов, вам нужно будет усреднить их. Это может иметь место, если вы создаете zip-файл, который содержит много файлов, поскольку ZIP имеет тенденцию замедляться при сжатии большого количества маленьких файлов по сравнению с 1 большим файлом.