Biblioteca os pune la dispoziție funcții de nivel de sistem pentru interacțiunea cu mediul gazdă: ceasul de sistem, calendarul, variabilele de mediu, rularea proceselor externe și gestionarea fișierelor temporare.
Timestamp Unix și formatare calendaristică cu os.date
-- Obținerea timestamp-ului curent (număr de secunde de la 1 Ianuarie 1970 UTC):
local acum = os.time()
print("Unix Timestamp curent:", acum)
-- Formatare lizibilă conform specificatorilor strftime:
local dataFormatata = os.date("%Y-%m-%d %H:%M:%S", acum)
print("Data și ora formatată:", dataFormatata)
-- Preluarea componentelor de dată sub formă de tabel Lua:
local t = os.date("*t", acum)
print("An:", t.year)
print("Lună:", t.month)
print("Zi:", t.day)
print("Ora:", t.hour)
print("Ziua săptămânii (1=Duminică):", t.wday)
-- Calculul diferenței între două momente de timp:
local t1 = os.time{year=2026, month=1, day=1, hour=0}
local difSecunde = os.difftime(acum, t1)
print("Zile trecute de la începutul anului:", math.floor(difSecunde / 86400))
Variabile de mediu, comenzi de sistem și cronometrare
-- Citirea variabilelor de mediu ale sistemului de operare:
local caleAcasa = os.getenv("HOME") or os.getenv("USERPROFILE")
print("Directorul utilizatorului:", caleAcasa)
-- Măsurarea precisă a timpului CPU consumat de script:
local start = os.clock()
for i = 1, 1000000 do
local _ = i * 2
end
local timpConsumat = os.clock() - start
print(string.format("Timp CPU consumat: %.4f secunde", timpConsumat))
-- Executarea unei comenzi shell (returnează succes, tip ieșire, cod exit):
local ok, tip, cod = os.execute("echo 'Mesaj din subproces Lua'")
print("Executat cu succes:", ok, "Cod ieșire:", cod)
-- Ștergerea și redenumirea fișierelor pe disc:
-- os.rename("vechi.txt", "nou.txt")
-- os.remove("fisier_inutil.log")
| Funcție | Argumente | Descriere |
|---|---|---|
os.getenv(var) |
var: string |
Returnează valoarea variabilei de mediu sau nil dacă nu există. |
os.clock() |
niciunul | Returnează timpul procesor în secunde alocat de sistem scriptului curent. |
os.exit(code, close) |
[code], [close] |
Încheie imediat procesul Lua cu un cod de stare opțional. |
os.tmpname() |
niciunul | Generează un nume de fișier temporar unic în directorul de sistem. |