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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d36a9f42920201aed7448c79af4fe6fc5233dd928e91bc146c8663530b1c5fec |
|
MD5 | 97ae31b15476b92b73aefd36464bbfc2 |
|
BLAKE2b-256 | b3dfc6826152fc532901708a8ec4719c66d36066ee36423799f616bfd96663fe |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d378f0e9265cd3e208fb9706da0265bec7db78374c892d0e007317c3cc30de3 |
|
MD5 | e1d281c2bb3091c5405542ca9796ac8d |
|
BLAKE2b-256 | e990e0a624ceeda71f86f30f5e60759f42d8800e2bfe4cd5bf5872efe7e8e60c |