0Pricing
Lua Academy · Lezione

Librerie os e io

Acceda all'ora di sistema, alle variabili d'ambiente, al file system e a stdin/stdout.

Librerie os e io è una lezione Lua Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Lua Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Lua Academy include 4 lezioni in totale.

Panoramica del modulo os

Il modulo os consente di accedere alle funzionalità del sistema operativo: ora, data, variabili d'ambiente, controllo dei processi e operazioni sul file system.

os.time e os.clock

os.time() restituisce l'ora corrente come timestamp Unix. os.clock() restituisce il tempo CPU utilizzato dal programma, utile per i benchmark.

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

os.date

os.date(format, time) formatta un timestamp. Utilizzi "*t" per ottenere una tabella con i campi year, month, day, hour, min, 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) legge una variabile d'ambiente. Restituisce nil se la variabile non è impostata.

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

os.execute e os.exit

os.execute(cmd) esegue un comando shell e restituisce il codice di uscita. os.exit(code) termina il processo.

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

os.rename e os.remove

os.rename(old, new) rinomina o sposta un file. os.remove(path) elimina un file o una directory vuota. In caso di errore, entrambe restituiscono nil e un errore.

Panoramica del modulo io

Il modulo io fornisce funzionalità di I/O sui file. I file vengono aperti con io.open, letti con file:read e scritti con file:write.

io.lines

io.lines(filename) restituisce un iteratore sulle righe di un file. Chiude automaticamente il file al termine.

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

io.read da stdin

io.read() legge una riga dall'input standard. io.read("*n") legge un numero, mentre io.read("*a") legge tutto lo stdin.

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

io.popen

io.popen(cmd, mode) apre una pipe verso o da un comando shell. Legga l'output del comando come un file handle.

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

stdin, stdout, stderr

io.stdin, io.stdout, io.stderr sono file handle già aperti per i flussi standard.

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

Domanda su os/io

Quale funzione restituisce il tempo CPU utilizzato dal programma?

Riepilogo: librerie os e io

La libreria os gestisce ora, ambiente, processi e operazioni sul file system. La libreria io gestisce I/O sui file, pipe e flussi standard. Insieme coprono la maggior parte delle esigenze di interazione con il sistema.

Domande Frequenti

La lezione «Librerie os e io» è gratuita?

Sì — il testo completo di «Librerie os e io» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Lua Academy, passa a CoddyKit PRO. Il corso Lua Academy include 4 lezioni in totale.

Cosa imparerò in «Librerie os e io»?

Acceda all'ora di sistema, alle variabili d'ambiente, al file system e a stdin/stdout. Eserciti Lua Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Lua Academy?

Non è richiesta alcuna esperienza precedente. Lua Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Librerie os e io»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Lua Academy?

Sì. Ogni lezione Lua Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Funzioni della libreria math
  2. Funzioni della libreria table
  3. Librerie os e io
  4. La libreria debug
← Torna a Lua Academy