Code to create a password encrypted zip file?

python

Solution

To create encrypted zip archive (named `'myarchive.zip'`) using open-source `7-Zip` utility:

rc = subprocess.call(['7z', 'a', '-pP4$$W0rd', '-y', 'myarchive.zip'] + 
                     ['first_file.txt', 'second.file'])

To install 7-Zip, type:

$ sudo apt-get install p7zip-full

To unzip by hand (to demonstrate compatibility with zip utitity), type:

$ unzip myarchive.zip

And enter `P4$$W0rd` at the prompt.

Or the same in Python 2.6+:

>>> zipfile.ZipFile('myarchive.zip').extractall(pwd='P4$$W0rd')

Problem

What is the Python code to create a password encrypted zip file? I'm fine with using some `apt-get`'able utilities using system on the command line.

Original source

Related problems