summaryrefslogtreecommitdiffstatshomepage
path: root/docs/library/uos.rst
blob: 3d0aa46c70fe64cd8aaceb5aba2375945a09ea8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
:mod:`uos` -- basic "operating system" services
===============================================

.. module:: uos
   :synopsis: basic "operating system" services

The ``uos`` module contains functions for filesystem access and ``urandom``
function.

Functions
---------

.. function:: chdir(path)

   Change current directory.

.. function:: getcwd()

   Get the current directory.

.. function:: ilistdir([dir])

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

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

.. function:: listdir([dir])

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

.. function:: mkdir(path)

   Create a new directory.

.. function:: remove(path)

   Remove a file.

.. function:: rmdir(path)

   Remove a directory.

.. function:: rename(old_path, new_path)

   Rename a file.

.. function:: stat(path)

   Get the status of a file or directory.

.. function:: 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.

.. function:: sync()

   Sync all filesystems.

.. function:: urandom(n)

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

.. function:: dupterm(stream_object)

   Duplicate or switch MicroPython terminal (the REPL) on the passed stream-like
   object. The given object must implement the `.readinto()` and `.write()`
   methods. If ``None`` is passed, previously set redirection is cancelled.