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.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 size
  • f_frsize – fragment size
  • f_blocks – size of fs in f_frsize units
  • f_bfree – number of free blocks
  • f_bavail – number of free blocks for unpriviliged users
  • f_files – number of inodes
  • f_ffree – number of free inodes
  • f_favail – number of free inodes for unpriviliged users
  • f_flag – mount flags
  • f_namemax – maximum filename length

Parameters related to inodes: f_files, f_ffree, f_avail and the f_flags parameter may return 0 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, generated by the hardware random number generator.

Constants

uos.sep

separation character used in paths