Skip to main content

Python convenience function for opening compressed URLs and files.

Project description

Python convenience function canopener(filename, mode='r') for opening files.

Local files behave identically to open():

>>> canopener('local_file.txt')

URLs can also be passed as the filename and opened for reading. urllib2.urlopen() is used under the covers, so it has equivalent support:

>>> canopener('http://remote/file.txt')

S3 URLs can also be read if the boto module is installed and the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables are set. The file is downloaded to a temporary local file on open:

>>> os.environ['AWS_ACCESS_KEY_ID'] = 'key'
>>> os.environ['AWS_SECRET_ACCESS_KEY'] = 'secret'
>>> canopener('s3://bucket/file.txt')

Any paths with “.gz” or “.bz2” extensions are transparently decompressed:

>>> canopener('local_file.txt.gz')
>>> canopener('local_file.txt.bz2')
>>> canopener('http://remote/file.txt.gz')
>>> canopener('s3://bucket/file.txt.gz')

There’s also transparent compression when writing to local files:

>>> canopener('local_file.txt.gz', 'w')

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

canopener-0.1.2.tar.gz (2.4 kB view details)

Uploaded Source

File details

Details for the file canopener-0.1.2.tar.gz.

File metadata

  • Download URL: canopener-0.1.2.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for canopener-0.1.2.tar.gz
Algorithm Hash digest
SHA256 87865b666857343e26dafc5cd357eeda602fca75b34696f38c35bbd69843980e
MD5 7982e9b2bd798bb12a804d77f1919318
BLAKE2b-256 dc1d85b010be192fb2e1ac753f907967cd1040150ac499bd14c2cc8488b29bba

See more details on using hashes here.

Supported by

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