Bibliotecas os e io
Acesse a hora do sistema, variáveis de ambiente, sistema de arquivos e entrada/saída padrão.
Bibliotecas os e io é uma aula grátis de Lua Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Lua Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Lua Academy inclui 4 aulas no total.
Visão geral do módulo os
O módulo os fornece acesso a recursos do sistema operacional: hora, data, variáveis de ambiente, controle de processos e operações do sistema de arquivos.
os.time e os.clock
os.time() retorna a hora atual como um carimbo de data e hora Unix. os.clock() retorna o tempo de CPU usado pelo programa — útil para avaliações de desempenho.
local t0 = os.clock()
for i = 1, 1e6 do end
print(("%.4f sec CPU"):format(os.clock() - t0))os.date
os.date(format, time) formata um carimbo de data e hora. Use "*t" para obter uma tabela com os campos year, month, day, hour, min e 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) lê uma variável de ambiente. Retorna nil se ela não estiver definida.
local path = os.getenv("PATH")
print(path and path:sub(1, 50) or "not set")os.execute e os.exit
os.execute(cmd) executa um comando do shell e retorna o código de saída. os.exit(code) encerra o processo.
local ok = os.execute("echo hello")
print("exit status:", ok)os.rename e os.remove
os.rename(old, new) renomeia ou move um arquivo. os.remove(path) exclui um arquivo ou diretório vazio. Ambos retornam nil e um erro em caso de falha.
Visão geral do módulo io
O módulo io fornece operações de entrada e saída de arquivos. Os arquivos são abertos com io.open, lidos com file:read e gravados com file:write.
io.lines
io.lines(filename) retorna um iterador sobre as linhas de um arquivo. O arquivo é fechado automaticamente quando a operação termina.
for line in io.lines("data.txt") do
print(line)
endio.read da entrada padrão
io.read() lê uma linha da entrada padrão. io.read("*n") lê um número; io.read("*a") lê toda a entrada padrão.
io.write("Enter name: ")
local name = io.read()
print("Hello, " .. name)io.popen
io.popen(cmd, mode) abre um canal de comunicação de ou para um comando do shell. Leia a saída do comando como um identificador de arquivo.
local f = io.popen("date")
local date = f:read("*l")
f:close()
print(date)stdin, stdout, stderr
io.stdin, io.stdout e io.stderr são identificadores de arquivo pré-abertos para os fluxos padrão.
io.stderr:write("Error: something went wrong\n")Pergunta sobre os/io
Qual função retorna o tempo de CPU usado pelo programa?
Recapitulação: bibliotecas os e io
A biblioteca os gerencia hora, ambiente, processos e operações do sistema de arquivos. A biblioteca io gerencia entrada e saída de arquivos, canais e fluxos padrão. Juntas, elas abrangem a maioria das necessidades de interação com o sistema.
Perguntas Frequentes
A aula “Bibliotecas os e io” é grátis?
Sim — o texto completo de “Bibliotecas os e io” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Lua Academy, atualize para CoddyKit PRO. O curso de Lua Academy inclui 4 aulas no total.
O que vou aprender em “Bibliotecas os e io”?
Acesse a hora do sistema, variáveis de ambiente, sistema de arquivos e entrada/saída padrão. Você pratica Lua Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Lua Academy?
Nenhuma experiência prévia é necessária. Lua Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Bibliotecas os e io”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Lua Academy?
Sim. Cada aula de Lua Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Funções da biblioteca math
- Funções da biblioteca table
- Bibliotecas os e io
- A biblioteca debug