Skip to main content

File like object that splits data across volumes

Project description

splitfile

Python file-like object that facilitates reading and writing of binary data split across multiple volumes (files) of a specified size. Supports random access IO.

Can be used with modules such as tarfile, zipfile, lzma, etc. enabling read/write of split archives.

Note: Version 2.0 removes previously integrated encryption and compression options. The breadth of choice across both suggests they are better handled as a separate layer, leaving splitfile to simply manage the final IO across volumes.

Examples

import splitfile

with splitfile.open('data.bin', 'wb') as f:
    f.write(b'Hello, World!')
import splitfile
import tarfile

with splitfile.open('data.bin', 'wb', volume_size=1000000) as f:
    with tarfile.open(mode='w', fileobj=f) as t:
        for file in files:
            t.add(file)

Result:
data.bin
data.bin.2
data.bin.3
...

Documentation

splitfile.open(filename, mode, volume_size=0, append_to_partial=True)

Returns a SplitFile object.

  • filename contains a valid file path. Volumes add a suffix (.2, .3, etc.).
  • Supported mode values are wb, wb+, ab, ab+, rb, rb+.
  • volume_size specifies the max size of a volume in bytes.
  • append_to_partial set to True appends data written to the end of a previously created file by adding to the last volume if its size is less than volume_size. If False, a new volume is always created for writing beyond the end of an existing file.

Dependencies

None

Installation

pip install splitfile

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

splitfile-2.0.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splitfile-2.0.2-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file splitfile-2.0.2.tar.gz.

File metadata

  • Download URL: splitfile-2.0.2.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for splitfile-2.0.2.tar.gz
Algorithm Hash digest
SHA256 d36a9f42920201aed7448c79af4fe6fc5233dd928e91bc146c8663530b1c5fec
MD5 97ae31b15476b92b73aefd36464bbfc2
BLAKE2b-256 b3dfc6826152fc532901708a8ec4719c66d36066ee36423799f616bfd96663fe

See more details on using hashes here.

File details

Details for the file splitfile-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: splitfile-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for splitfile-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7d378f0e9265cd3e208fb9706da0265bec7db78374c892d0e007317c3cc30de3
MD5 e1d281c2bb3091c5405542ca9796ac8d
BLAKE2b-256 e990e0a624ceeda71f86f30f5e60759f42d8800e2bfe4cd5bf5872efe7e8e60c

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