os – basic “operating system” services — MicroPython latest documentation (original) (raw)

This is the documentation for the latest development branch of MicroPython and may refer to features that are not available in released versions.

If you are looking for the documentation for a specific release, use the drop-down menu on the left and select the desired version.

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

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:

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]):

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:

Parameters related to inodes: f_files, f_ffree, f_availand the f_flags parameter may return 0 as they can be unavailable in a port-specific implementation.

os.sync()

Sync all filesystems.

Terminal redirection and duplication

os.dupterm(stream_object, index=0, /)

Duplicate or switch the MicroPython terminal (the REPL) on the given stream-like object. The stream_object argument must be a native stream object, or derive from io.IOBase and implement the readinto() andwrite() methods. The stream should be in non-blocking mode andreadinto() should return None if there is no data available for reading.

After calling this function all terminal output is repeated on this stream, and any input that is available on the stream is passed on to the terminal input.

The index parameter should be a non-negative integer and specifies which duplication slot is set. A given port may implement more than one slot (slot 0 will always be available) and in that case terminal input and output is duplicated on all the slots that are set.

If None is passed as the stream_object then duplication is cancelled on the slot given by index.

The function returns the previous stream-like object in the given slot.

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.