--- title: "uos" aliases: - firmwareapi/micropython/uos.html - firmwareapi/micropython/uos.md - chapter/firmwareapi/micropython/uos --- The `uos` 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) ## Methods #### uos.uname() Return information about the system, firmware release version, and MicroPython interpreter version. #### 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. The return value is a tuple with the following 10 values, in order: * `st_mode`: protection bits. * `st_ino`: `inode` number. (not implemented, returns 0) * `st_dev`: device. (not implemented, returns 0) * `st_nlink`: number of hard links. (not implemented, returns 0) * `st_uid`: user id of owner. (not implemented, returns 0) * `st_gid`: group id of owner. (not implemented, returns 0) * `st_size`: size of file in bytes. * `st_atime`: time of most recent access. * `st_mtime`: time of most recent content modification. * `st_ctime`: time of most recent metadata change. #### uos.getfree(path) Returns the free space (in KiB) in the drive specified by path. #### uos.sync() Sync all filesystems. #### uos.urandom(n) Return a bytes object with n random bytes. #### uos.unlink(path) Alias for the `remove()` method. #### uos.mount(block\_device, mount\_point, \* , readonly=False) Mounts a block device (like an SD object) in the specified mount point. Example: ```python uos.mount(sd, '/sd') ``` #### uos.umount(mount\_point) Unmounts a previously mounted block device from the specified mount point. Example: ```python uos.umount('/sd') ``` #### uos.mkfs(block\_device or path) Formats the specified path, must be either `/flash` or `/sd`. A block device can also be passed like an SD object before being mounted. #### uos.dupterm(stream\_object) Duplicate the terminal (the REPL) on the passed stream-like object. The given object must at least implement the `read()` and `write()` methods. ## Constants * `uos.sep`: Separation character used in paths