Last updated:
0 purchases
pyfatfs 1.1.0
pyfatfs
pyfatfs is a filesystem module for use with PyFilesystem2
for anyone who needs to access or modify files on a FAT filesystem. It also
provides a low-level API that allows direct interaction with a FAT filesystem
without PyFilesystem2 abstraction.
pyfatfs supports FAT12/FAT16/FAT32 as well as the VFAT extension (long file names).
Installation
pyfatfs is available via PyPI as pyfatfs, so just execute the following
command to install the package for your project:
$ pip install pyfatfs
Usage
The easiest way to get started with pyfatfs is to use it in conjunction
with PyFilesystem2:
PyFilesystem2
Use fs.open_fs to open a filesystem with a FAT FS URL:
import fs
my_fs = fs.open_fs("fat:///dev/sda1")
Parameters
It is possible to supply query parameters to the URI of the
PyFilesystem2 opener to influence certain behavior; it can
be compared to mount options. Multiple parameters can be
supplied by separating them via ampersand (&).
encoding
pyfatfs offers an encoding parameter to allow overriding the
default encoding of ibm437 for file names, which was mainly
used by DOS and still is the default on Linux.
Any encoding known by Python can be used as value for this
parameter, but keep in mind that this might affect interoperability
with other systems, especially when the selected encoding/codepage
is not native or supported.
Please note that this only affects encoding of the 8DOT3 short file names, not
long file names of the VFAT extension, as LFN are always stored as UTF-16-LE.
import fs
my_fs = fs.open_fs("fat:///dev/sda1?encoding=cp1252")
offset
Specify an offset in bytes to skip when accessing the file. That way even
complete disk images can be read if the location of the partition is known:
import fs
my_fs = fs.open_fs("fat:///dev/sda?offset=32256")
preserve_case
Preserve case when creating files. This will force LFN entries for all
created files that do not match the 8DOT3 rules. This defaults to true
but can be disabled by setting preserve_case to false:
import fs
my_fs = fs.open_fs("fat:///dev/sda1?preserve_case=false")
read_only
Open filesystem in read-only mode and thus don’t allow writes/modifications.
This defaults to false but can be enabled by setting read_only to true:
import fs
my_fs = fs.open_fs("fat:///dev/sda1?read_only=true")
utc
Create all timestamps on the filesystem in UTC time rather than local time.
Affects all directory entries’ creation, modification and access times.
import fs
my_fs = fs.open_fs("fat:///dev/sda1?utc=true")
lazy_load
If set to true (default), the directory entries are loaded only when accessed
to increase performance with larger filesystems and resilience against
recursion / directory loops.
import fs
my_fs = fs.open_fs("fat:///dev/sda1?lazy_load=false")
Testing
Tests are located at the tests directory. In order to test your new
contribution to pyfatfs just run
$ python setup.py test
from your shell.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.