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


Download files

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

Source Distribution

SVFS-2.0.0.tar.gz (13.1 kB view details)

Uploaded Source

File details

Details for the file SVFS-2.0.0.tar.gz.

File metadata

  • Download URL: SVFS-2.0.0.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for SVFS-2.0.0.tar.gz
Algorithm Hash digest
SHA256 cd1ab674730a7b6f56281e1b94e094a7e091baeb43546cdb9e951085a6153cae
MD5 eb0f2335582f5a5cce7d4961b243f735
BLAKE2b-256 ecbf165bdd2fe89754c1cdcd05214edaaa25b9cb1935cbfeb4ab17912fde457d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page