uos
– basic “operating system” services¶
The os
module contains functions for filesystem access and urandom
function.
Port specifics¶
The filesystem has /
as the root directory and the
available physical drives are accessible from here. They are currently:
/flash
– the internal flash filesystem
/sd
– the SD card (if it exists)
On boot up, the current directory is /flash
if no SD card is inserted,
otherwise it is /sd
.
Functions¶
-
uos.
chdir
(path)¶ Change current directory.
-
uos.
getcwd
()¶ Get the current directory.
-
uos.
ilistdir
([dir])¶ This function returns an iterator which then yields 3-tuples corresponding to the entries in the directory that it is listing. With no argument it lists the current directory, otherwise it lists the directory given by dir.
The 3-tuples have the form (name, type, inode):
- name is a string (or bytes if dir is a bytes object) and is the name of the entry;
- type is an integer that specifies the type of the entry, with 0x4000 for directories and 0x8000 for regular files;
- inode is an integer corresponding to the inode of the file, and may be 0 for filesystems that don’t have such a notion.
-
uos.
listdir
([dir])¶ With no argument, list the current directory. Otherwise list the given directory.
-
uos.
mkdir
(path)¶ Create a new directory.
-
uos.
remove
(path)¶ Remove a file.
-
uos.
rmdir
(path)¶ Remove a directory.
-
uos.
rename
(old_path, new_path)¶ Rename a file.
-
uos.
stat
(path)¶ Get the status of a file or directory.
-
uos.
statvfs
(path)¶ Get the status of a fileystem.
Returns a tuple with the filesystem information in the following order:
f_bsize
– file system block sizef_frsize
– fragment sizef_blocks
– size of fs in f_frsize unitsf_bfree
– number of free blocksf_bavail
– number of free blocks for unpriviliged usersf_files
– number of inodesf_ffree
– number of free inodesf_favail
– number of free inodes for unpriviliged usersf_flag
– mount flagsf_namemax
– maximum filename length
Parameters related to inodes:
f_files
,f_ffree
,f_avail
and thef_flags
parameter may return0
as they can be unavailable in a port-specific implementation.
-
uos.
sync
()¶ Sync all filesystems.
-
uos.
urandom
(n)¶ Return a bytes object with n random bytes. Whenever possible, it is generated by the hardware random number generator.