Есть переменная a, куда пользователь вводит путь к его zip-архиву, защищенный паролем. Есть переменная b, куда пользователь вводит пароль к архиву, путь к которому был указан им ранее. Нужно, как можно было догадаться требуется расшифровать архив пользователя. Изначально попробывал решить подобным образом:
Однако, меня встретило разочарование, программа выдала сделующую ошибку. Как я понял, она хочет тип bytes, а не str.
Traceback (most recent call last):
File "/home/user/PycharmProjects/pythonbash_broke/copy.py", line 6, in <module>
zip_archive1.extractall(pwd=F'{zip_password1}')
File "/usr/lib/python3.7/zipfile.py", line 1616, in extractall
self._extract_member(zipinfo, path, pwd)
File "/usr/lib/python3.7/zipfile.py", line 1669, in _extract_member
with self.open(member, pwd=pwd) as source, \
File "/usr/lib/python3.7/zipfile.py", line 1450, in open
raise TypeError("pwd: expected bytes, got %s" % type(pwd).__name__)
TypeError: pwd: expected bytes, got str
Решил добавить к тегу F тег b в шестой строке, однако программа вновь выдала ошибку:
File "/home/user/PycharmProjects/pythonbash_broke/copy.py", line 6
zip_archive1.extractall(pwd=bF'{zip_password1}')
^
SyntaxError: invalid syntax
Что делать, чтобы эта фиговина работала?
Python 3.7
LinuxDebian10.03
Python:
import zipfile
zip_way1 = input('Enter the way for your zip-archive: ')
zip_password1 = input('Enter the password for your zip-archive: ')
zip_archive1 = zipfile.ZipFile(F'{zip_way1}', 'r')
zip_archive1.extractall(pwd=F'{zip_password1}')
Traceback (most recent call last):
File "/home/user/PycharmProjects/pythonbash_broke/copy.py", line 6, in <module>
zip_archive1.extractall(pwd=F'{zip_password1}')
File "/usr/lib/python3.7/zipfile.py", line 1616, in extractall
self._extract_member(zipinfo, path, pwd)
File "/usr/lib/python3.7/zipfile.py", line 1669, in _extract_member
with self.open(member, pwd=pwd) as source, \
File "/usr/lib/python3.7/zipfile.py", line 1450, in open
raise TypeError("pwd: expected bytes, got %s" % type(pwd).__name__)
TypeError: pwd: expected bytes, got str
Решил добавить к тегу F тег b в шестой строке, однако программа вновь выдала ошибку:
File "/home/user/PycharmProjects/pythonbash_broke/copy.py", line 6
zip_archive1.extractall(pwd=bF'{zip_password1}')
^
SyntaxError: invalid syntax
Что делать, чтобы эта фиговина работала?
Python 3.7
LinuxDebian10.03