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.