El módulo os (uos) de la librería estándar de MicroPython proporciona un conjunto de funciones para manipular los archivos y estructura de directorios, las funciones generales uname –da información del intérprete y/o microcontrolador– y urandom –genera bytes aleatorios-, funciones para el redireccionamiento y duplicación del terminal y funciones para la integración del sistema de archivos.
- Archivos y estructura de directorios: os.getcwd(), os.mkdir(), os.listdir(), os.ilistdir(), os.chdir(), os.rmdir(), os.remove(), os.rename(), os.stat() y os.statvfs().
- Funciones generales: os.uname() y os.urandom().
- Redireccionamiento y duplicación del terminal: os.dupterm()*.
- Integración del sistema de archivos: os.mount(), os.umount(), os.VfsFat() y os.VfsLfs2()**.
* Se puede encontrar documentación sobre la redirección y duplicación del terminal en esta dirección:
http://docs.micropython.org/en/latest/reference/filesystem.html#littlefs
** Se puede encontrar documentación sobre la integración del sistema de archivos en esta dirección:
http://docs.micropython.org/en/latest/reference/filesystem.html#littlefs
ARCHIVOS Y ESTRUCTURA DE DIRECTORIOS
os.getcwd() |
Devuelve una cadena (str) con directorio actual. |
>>> import os >>> os.getcwd() '/' #Directorio raíz
os.mkdir(ruta) |
Es una función para crear un nuevo directorio (carpeta) dentro del actual. |
>>> import os >>> os.mkdir("lib") #Crea el directorio lib >>>
os.listdir([dir]) |
Devuelve una lista (list) de las entradas de un directorio (subdirectorios y archivos). Sin argumento del directorio actual y con argumento [dir] del directorio dado. |
>>> import os >>> os.listdir() ['lib']
os.ilistdir([dir]) |
Devuelve un iterador (iter) que genera cadenas (str) de las entradas del directorio. Sin argumento del directorio actual y con argumento [dir] del directorio dado. |
import os os.mkdir("prueba") os.mkdir("prueba/1") os.mkdir("prueba/2") os.mkdir("prueba/3") myit = iter(os.listdir("prueba")) try: while True: print(next(myit)) except: print("--Fin--")
os.chdir(ruta) |
Es una función para cambiar desde el directorio actual al especificado. |
>>> import os >>> os.mkdir("nuevo") #Crea el directorio "nuevo" >>> os.chdir("nuevo") #Cambia del directorio actual a "nuevo" >>> os.getcwd() #Devuelve el directorio actual '/nuevo' >>> os.chdir("/") #Vuelve al directorio raíz >>>
os.rmdir(nombre) |
Es una función para borrar un directorio (carpeta) del actual directorio. Es necesario que el directorio a borrar esté vacío, para poder hacerlo. En caso contrario se generará un error. |
>>> import os >>> os.mkdir("aBorrar") #Crea el directorio "aBorrar" >>> os.listdir() ['aBorrar'] >>> os.rmdir("aBorrar") #Borra el directorio "aBorrar" >>> os.listdir() []
os.remove(nombre) |
Es una función para borrar un archivo del actual directorio. Suponiendo que se dispone el archivo texto.txt en el actual directorio, se procederá así: |
os.rename(viejo_nombre, nuevo_nombre) |
Es una función para renombrar un archivo o directorio del actual directorio. |
>>> import os >>> os.mkdir("Juan") #Crea el directorio "Juan" >>> os.rename("Juan", "Pedro") #Renombra "Juan" a "Pedro" >>> os.listdir() ['Pedro']
os.stat(ruta) |
Devuelve una tupla (tuple) de 10 elementos con datos del archivo o directorio seleccionado. Debido a la limitación del sistema de archivos FAT, solo unos pocos elementos tienen un valor razonable.
|
Suponiendo que se dispone del archivo texto.txt, se procederá así: |
os.statvfs(ruta) |
Devuelve una tupla (tuple) de 10 elementos con datos del sistema de archivos de la unidad en la que se encuentra el archivo seleccionado. Debido a la limitación del sistema de archivos FAT, solo unos pocos elementos tienen un valor razonable.
|
FUNCIONES GENERALES
os.uname() |
Devuelve una tupla (tuple) con información a cerca del intérprete (MicroPython) y/o su microcontrolador (ESP32). La tupla tiene cinco campos en el siguiente orden, cada uno de ellos es una cadena (str):
|
>>> import os >>> os.uname() (sysname='esp32', nodename='esp32', release='1.12.0', version='v1.12-326-g8fff0b0ac on 2020-03-31', machine='ESP32 module with ESP32')
os.urandom(n) |
Devuelve un objeto bytes (bytes object) con «n» bytes aleatorios, generado por el generador de números aleatorios. La codificación utilizada es UTF-8. Con ella se puede representar cualquier carácter Unicode, teniendo la ventaja que solo utilizará un byte para los caracteres ASCII. En este ejemplo se buscan 5 objetos de 10 bytes. Como se podrá comprobar, cada objeto que se obtiene es diferente: |
import os for x in range(5): result = os.urandom(10) print(result)
Leave a Reply
Tu correo electrónico está seguro.
You must be logged in to post a comment.