Skip to main content

Simple library that provides a common interface for extracting zip and tar archives.

Project description

This package provides a simple, pure-Python interface for handling various archive file formats. Currently, archive extraction is the only supported action. Supported file formats include:

  • Zip formats and equivalents: .zip, .egg, .jar.

  • Tar and compressed tar formats: .tar, .tar.gz, .tgz, .tar.bz2, .tz2.

python-archive is compatible and tested with Python versions 2.5, 2.6, and 3.2.

Example usage

Using the Archive class:

from archive import Archive

a = Archive('files.tar.gz')
a.extract()

Using the extract convenience function:

from archive import extract
# Extract in current directory.
extract('files.tar.gz')
# Extract in directory 'unpack_dir'.
extract('files.tar.gz', 'unpack_dir')

By default, an archive.UnsafeArchive exception will be raised if any file(s) in the archive would be unpacked outside of the target directory (e.g. the archive contains absolute paths or relative paths that navigate up and out of the target directory). If you can trust the source of your archive files, then it’s possible to override this behavior, e.g.:

extract('files.tar.gz', method='insecure')

More examples

Passing a file-like object is also supported:

f = open('files.tar.gz', 'rb')
Archive(f).extract()

If a file does not have the correct extension, or is not recognized correctly, you may try explicitly specifying an extension (with leading period):

Archive('files.wrongext', ext='.tar.gz').extract()
# or
extract('files.wrongext', ext='.tar.gz')

Similar tools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-archive-0.2.tar.gz (9.2 kB view details)

Uploaded Source

File details

Details for the file python-archive-0.2.tar.gz.

File metadata

File hashes

Hashes for python-archive-0.2.tar.gz
Algorithm Hash digest
SHA256 0f19c7bdd39a5f09ef86e56c5b2d5beb4a0635292639ee869a2b25bd9a2f1161
MD5 d2abf4c71fd28817b0a5d27ff874470d
BLAKE2b-256 4b17560776b5c88c0c665b54db9d076e7334b70fee5100a1bb52b18b92f9e123

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page