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