An IO wrapper that reads/writes binary data as base64 into a text file
Project description
Base64File
- An IO wrapper that but reads/writes binary data as base64 text, supporting concurrent reading and writing. Similar
to
GzipFile
, it simulates most of the methods of a standard file object (with the exception ofreadline
). - When opening this without specifying an underlying file, the standard modes are supported:
wb
,rb
,ab
,xb
, with an optional+
to enable concurrent reading/writing (theb
is optional to specify) - When specifying an underlying file, the mode is inherited from the specified file. If a binary-mode file is provided,
it is automatically wrapped with a
TextIOWrapper
.
Usage
from base64file import Base64File
# open a new/existing file for concurrent reading and writing
with Base64File('some-file.txt', 'w+') as b:
b.write(b'\0\1\2\3\4')
b.seek(0)
b.write(b'\n')
print(b.read(2)) # prints b'\1\2'
# wrap an existing file (in this example, open for reading)
with open('some-file.txt', 'r') as f:
with Base64File(file_obj=f) as b:
print(b.read(2)) # prints b'\n\1'
print(b.read()) # prints b'\2\3\4'
# if you need to keep the file open, remember to close it
f = open('some-file.txt', 'w+')
b = Base64File(file_obj=f)
b.write(b'\0\1\2\3\4')
b.seek(0)
b.write(b'\n')
print(b.read(2)) # prints b'\1\2'
b.close() # this is necessary, otherwise the final 1-2 bytes may not be written
f.close()
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
base64file-0.0.6.tar.gz
(9.2 kB
view hashes)
Built Distribution
Close
Hashes for base64file-0.0.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f59c6e2410977af80ce86071b40ff6ecd7f3f84e9c7fd14629b2150729aa1b46 |
|
MD5 | 182d3de42ff20a943a0a90bdb5ec613a |
|
BLAKE2b-256 | 9b05e1081d3fbcd0ab935f4e3c09b4bfc7287ac203ad4f15c8fac2eb8526a52b |