Warning:

To protect the digital assets of creators and enhance system security and stability, the CyberBrick Multi-Function Core Board does not support firmware flashing with any third-party tools! If you need to restore the Multi-Function Core Board to its factory state, please wait for the official recovery tool to be released by CyberBrick. If you proceed to flash the firmware using third-party tools, the firmware of the Multi-Function Core Board will be permanently damaged and cannot be recovered. CyberBrick will not be responsible for any consequences resulting from such operations.

This documentation is adapted from the official MicroPython project. The CyberBrick team has extended the source code with custom interfaces and features to our hardware and application needs.

In addition to these enhancements, certain built-in MicroPython interfaces have been intentionally disabled to protect the system's integrity, and ensure the overall security and reliability of the device. This also facilitates content protection for creators' intellectual property, where applicable.

Portions of the content are derived from the official MicroPython documentation and have been included here under its open-source license to provide users with a consistent and enriched development experience tailored to the CyberBrick platform.

os – basic “operating system” services

This module implements a subset of the corresponding CPython module, as described below. For more information, refer to the original CPython documentation: os.

The os module contains functions for filesystem access and mounting, terminal redirection and duplication, and the uname and urandom functions.

General functions

os.uname()

Return a tuple (possibly a named tuple) containing information about the underlying machine and/or its operating system. The tuple has five fields in the following order, each of them being a string:

  • sysname – the name of the underlying system

  • nodename – the network name (can be the same as sysname)

  • release – the version of the underlying system

  • version – the MicroPython version and build date

  • machine – an identifier for the underlying hardware (eg board, CPU)

os.urandom(n)

Return a bytes object with n random bytes. Whenever possible, it is generated by the hardware random number generator.

Filesystem access

os.chdir(path)

Change current directory.

os.getcwd()

Get the current directory.

os.ilistdir([dir])

This function returns an iterator which then yields 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 tuples have the form (name, type, inode[, size]):

  • 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.

  • Some platforms may return a 4-tuple that includes the entry’s size. For file entries, size is an integer representing the size of the file or -1 if unknown. Its meaning is currently undefined for directory entries.

os.listdir([dir])

With no argument, list the current directory. Otherwise list the given directory.

os.mkdir(path)

Create a new directory.

os.remove(path)

Remove a file.

os.rmdir(path)

Remove a directory.

os.rename(old_path, new_path)

Rename a file.

os.stat(path)

Get the status of a file or directory.

os.statvfs(path)

Get the status of a filesystem.

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 unprivileged users

  • f_files – number of inodes

  • f_ffree – number of free inodes

  • f_favail – number of free inodes for unprivileged 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.

os.sync()

Sync all filesystems.

Filesystem mounting

The following functions and classes have been moved to the vfs module. They are provided in this module only for backwards compatibility and will be removed in version 2 of MicroPython.

os.mount(fsobj, mount_point, *, readonly)

See vfs.mount.

os.umount(mount_point)

See vfs.umount.

class os.VfsFat(block_dev)

See vfs.VfsFat.

class os.VfsLfs1(block_dev, readsize=32, progsize=32, lookahead=32)

See vfs.VfsLfs1.

class os.VfsLfs2(block_dev, readsize=32, progsize=32, lookahead=32, mtime=True)

See vfs.VfsLfs2.

class os.VfsPosix(root=None)

See vfs.VfsPosix.