Повторяющийся вопрос https://stackoverflow.com/a/2366917/874188 рекомендует использовать 7z
вместо zip
. Мой опыт подтверждает это.
Скопируйте / вставьте ответ @JFSebastian здесь также для полноты:
Чтобы создать зашифрованный zip-архив (с именем 'myarchive.zip'
), используя open-source 7-Zip
Утилита:
rc = subprocess.call(['7z', 'a', '-mem=AES256', '-pP4$$W0rd', '-y', 'myarchive.zip'] +
['first_file.txt', 'second.file'])
Чтобы установить 7-Zip, введите:
$ sudo apt-get install p7zip-full
Чтобы разархивировать вручную (чтобы продемонстрировать совместимость с утилитой zip), введите:
$ unzip myarchive.zip
и введите P4$$W0rd
в командной строке.
Или то же самое в Python 2.6 +:
>>> zipfile.ZipFile('myarchive.zip').extractall(pwd='P4$$W0rd')