Skip to main content

Multi-purpose virtual file system inside single file

Project description

Overview

SVFS allows to create virtual filesystem inside file on real filesystem. It can be used to store multiple files inside single file (with directory structure). Unlike archives, SVFS allows to modify files in-place. SVFS files use file-like interface, so they can be used (pretty much) like regular Python file objects. Finally, it’s implemented in pure python and doesn’t use any 3rd party modules, so it should be very portable. Tests show write speed to be around 10-12 MB/s and read speed to be around 26-28 MB/s.

Example

Following code creates SVFS, opens file in it, writes string and reads it back:

from SVFS import SVFS #Import SVFS class

s = SVFS() #Create instance of SVFS class
s.CreateSVFS('test.svfs','testvolume',100,100,100) #Create SVFS with 100 inodes and 100 blocks of 100 bytes.
s.OpenSVFS('test.svfs') #Open created SVFS
with s.open('testfile','w') as file: #Create and open new file for writing in SVFS.
 file.write('write test') #Write string into file
t = s.open('testfile','r') #Open same file for reading
print t.read() #Read entire file and print data
t.close() #Close file
s.CloseSVFS() #Close SVFS

That code outputs:

write test

Which means it works correctly.

Changelog

Version 2.0.0:

Initial release

Contact

This module is maintained by Andrew Stolberg <andrewstolberg@gmail.com>. If you have any questions or want to help, email me.

Project details


Release history Release notifications

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
SVFS-2.0.0.tar.gz (13.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page