NotImplementedError: That compression method is not supported в zipfile.ZipFile

Есть код:

from tkinter import *
from tkinter import ttk
import os
from zipfile import ZipFile

mon = 0
class BALANCE:
    def moneys(time, mon, procent):
        n = time
        r = procent / 100
        s = mon
        n = time
        S = s*(1+r/100)**n
        return S
    def proc():
        global procent
        procent = int(input('Проценты: '))
        return procent
    def timeInput():
        global time
        with open('date.txt') as d:
            time = int(input('Прошло месяцев(с ' + d.read() + '): '))
        return time
    def monInput():
        global mon, plusMon
        plusMon = int(input('Добавлено (руб): '))
        mon += plusMon
    def balance():
        global mon
        with open('mon.txt') as m:
            mon += float(m.read())
        print('--------------\nНа вашем счёте:')
        print(int(bal.moneys(time, mon, procent)*100)/100, 'руб.')
        print('--------------')
    def body():
        bal.timeInput()
        bal.proc()
        bal.monInput()
        date_inputed = input('Введите дату (в любом виде): ')
        bal.balance()
        while True:
            asd = input('Сохранить изменения?\n')
            if asd == 'Да' or asd == 'да':
                with open('mon.txt', mode = 'w+') as m:
                    m.write(str(bal.moneys(time, mon, procent)))
                with open('date.txt', mode = 'w+') as d:
                    d.write(date_inputed)
                with open('journal.txt', mode = 'r+') as j:
                    varJOURNAL = str(j.read())
                    if plusMon > 0:
                        j.write(str(j.read()) + '\n' + str(date_inputed) + '; ' + str(procent) + '%; + ' + str(plusMon) + 'руб.')
                    elif plusMon < 0:
                        j.write(str(j.read()) + '\n' + str(date_inputed) + '; ' + str(procent) + '%; - ' + str(plusMon) + 'руб.')
                    else:
                        j.write(str(j.read()) + '\n' + str(date_inputed) + '; ' + str(procent) + '%.')
                print('Изменения успешно сохранены!')
                break
            elif asd == 'Нет' or asd == 'нет':
                print('Изменения не сохранены!')
                break
            else:
                print('Введите "Да" или "Нет"!')
        input('\nНажмите "Enter" для завершения\n')
class JOURNAL:
    def viev():
        with open('journal.txt', mode = 'r') as rj:
            print('Журнал:\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n')
            print(rj.read())
            print('\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
    def viev_lines(line1, line2):
        with open('journal.txt', mode = 'r') as rlcj:
            indexedJournal = rlcj.read().split('\n')
            if line2 > len(indexedJournal) or line2 < 1 or line1 > len(indexedJournal) or line1 < 1:
                print('Error: lines not found')
            if line1 > line2:
                print('Error: line2 > line1; lines not found')
            else:
                for i in indexedJournal[line1-1:line2]:
                    print(i)
jour = JOURNAL
bal = BALANCE
with ZipFile("/media/fm/8AF4E333F4E31FE5/1Idel/ПрОгРаМмЫ/WiMiBank/WiMiBank.zip", "r") as parol:
    attempts = 3
    while True:
        PAROL = parol.read('parol', pwd = b'1234') # Ошибка тут
        enterParol = input("Введите пароль: ")
        if enterParol == PAROL:
            while True:
                act = input('Введите действие ("Журнал" или "Баланс"): ')
                if act == 'Журнал' or act == 'журнал':
                    jour.viev()
                    jour.viev_lines(int(input('line1 = ')) + 1, int(input('line2 = ')) + 1)
                    input('\nНажмите "Enter" для завершения\n')
                    break
                elif act == 'Баланс' or act == 'баланс':
                    bal.body()
                    break
        else:
            attempts -= 1
            if attempts == 2 or attempts == 3:
                print(f"Неверный пароль!!! Осталось {attempts} попытки!!!")
            elif attempts == 1:
                print(f"Неверный пароль!!! Осталось {attempts} попытки!!!")
            else:
                input('Попытки закончились!!! \nНажмите "Enter" для завершения\n')

При выполнении выводится ошибка:

NotImplementedError: That compression method is not supported

Ответы (0 шт):