# os — functions that an OS normally provides¶

The os module is a strict subset of the CPython os module. So, code written in CircuitPython will work in CPython but not necessarily the other way around.

os.uname()

Returns a named tuple of operating specific and CircuitPython port specific information.

os.chdir(path)

Change current directory.

os.getcwd()

Get the current directory.

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.

Note

On builds without long integers, the number of seconds for contemporary dates will not fit in a small integer. So the time fields return 946684800, which is the number of seconds corresponding to 1999-12-31.

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

os.sync()

Sync all filesystems.

os.urandom(size)

Returns a string of size random bytes based on a hardware True Random Number Generator. When not available, it will raise a NotImplementedError.

os.sep

Separator used to delineate path components such as folder and file names.