0Pricing
Lua Academy · Lección

Bibliotecas os e io

Acceda a la hora del sistema, las variables de entorno, el sistema de archivos y stdin/stdout.

Bibliotecas os e io es una lección gratuita de Lua Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Lua Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Lua Academy incluye 4 lecciones en total.

Descripción general del módulo os

El módulo os proporciona acceso a funciones del sistema operativo: hora, fecha, variables de entorno, control de procesos y operaciones del sistema de archivos.

os.time y os.clock

os.time() devuelve la hora actual como una marca de tiempo Unix. os.clock() devuelve el tiempo de CPU utilizado por el programa, lo que resulta útil para realizar benchmarks.

local t0 = os.clock()
for i = 1, 1e6 do end
print(("%.4f sec CPU"):format(os.clock() - t0))

os.date

os.date(format, time) da formato a una marca de tiempo. Use "*t" para obtener una tabla con los campos year, month, day, hour, min y sec.

print(os.date("%Y-%m-%d %H:%M:%S"))  -- 2025-01-15 14:30:00
local d = os.date("*t")
print(d.year, d.month, d.day)

os.getenv

os.getenv(name) lee una variable de entorno. Devuelve nil si no está definida.

local path = os.getenv("PATH")
print(path and path:sub(1, 50) or "not set")

os.execute y os.exit

os.execute(cmd) ejecuta un comando del shell y devuelve el código de salida. os.exit(code) termina el proceso.

local ok = os.execute("echo hello")
print("exit status:", ok)

os.rename y os.remove

os.rename(old, new) cambia el nombre o mueve un archivo. os.remove(path) elimina un archivo o un directorio vacío. Ambas funciones devuelven nil y un error si fallan.

Descripción general del módulo io

El módulo io proporciona operaciones de entrada y salida de archivos. Los archivos se abren con io.open, se leen con file:read y se escriben con file:write.

io.lines

io.lines(filename) devuelve un iterador sobre las líneas de un archivo. Cierra automáticamente el archivo cuando termina.

for line in io.lines("data.txt") do
  print(line)
end

io.read desde stdin

io.read() lee una línea de la entrada estándar. io.read("*n") lee un número y io.read("*a") lee toda la entrada estándar.

io.write("Enter name: ")
local name = io.read()
print("Hello, " .. name)

io.popen

io.popen(cmd, mode) abre una tubería hacia o desde un comando del shell. Lea la salida del comando como si fuera un descriptor de archivo.

local f = io.popen("date")
local date = f:read("*l")
f:close()
print(date)

stdin, stdout, stderr

io.stdin, io.stdout y io.stderr son descriptores de archivo abiertos previamente para los flujos estándar.

io.stderr:write("Error: something went wrong\n")

Pregunta sobre os/io

¿Qué función devuelve el tiempo de CPU utilizado por el programa?

Resumen: bibliotecas os e io

La biblioteca os gestiona la hora, el entorno, los procesos y las operaciones del sistema de archivos. La biblioteca io gestiona la entrada y salida de archivos, las tuberías y los flujos estándar. Juntas cubren la mayoría de las necesidades de interacción con el sistema.

Preguntas frecuentes

¿La lección «Bibliotecas os e io» es gratis?

Sí — el texto completo de «Bibliotecas os e io» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Lua Academy, actualiza a CoddyKit PRO. El curso de Lua Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Bibliotecas os e io»?

Acceda a la hora del sistema, las variables de entorno, el sistema de archivos y stdin/stdout. Practicas Lua Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Lua Academy?

No se requiere experiencia previa. Lua Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Bibliotecas os e io»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Lua Academy?

Sí. Cada lección de Lua Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Funciones de la biblioteca math
  2. Funciones de la biblioteca table
  3. Bibliotecas os e io
  4. La biblioteca debug
← Volver a Lua Academy