The new zipimport module adds support for importing
modules from a ZIP-format archive. You don't need to import the
module explicitly; it will be automatically imported if a ZIP
archive's filename is added to sys.path
. For example:
amk@nyman:~/src/python$ unzip -l /tmp/example.zip Archive: /tmp/example.zip Length Date Time Name -------- ---- ---- ---- 8467 11-26-02 22:30 jwzthreading.py -------- ------- 8467 1 file amk@nyman:~/src/python$ ./python Python 2.3 (#1, Aug 1 2003, 19:54:32) >>> import sys >>> sys.path.insert(0, '/tmp/example.zip') # Add .zip file to front of path >>> import jwzthreading >>> jwzthreading.__file__ '/tmp/example.zip/jwzthreading.py' >>>
An entry in sys.path
can now be the filename of a ZIP archive.
The ZIP archive can contain any kind of files, but only files named
*.py, *.pyc, or *.pyo can be imported. If an
archive only contains *.py files, Python will not attempt to
modify the archive by adding the corresponding *.pyc file, meaning
that if a ZIP archive doesn't contain *.pyc files, importing may be
rather slow.
A path within the archive can also be specified to only import from a subdirectory; for example, the path /tmp/example.zip/lib/ would only import from the lib/ subdirectory within the archive.
See Also:
See About this document... for information on suggesting changes.