0Pricing
Lua Academy · Aula

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)
end

io.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

  1. Funções da biblioteca math
  2. Funções da biblioteca table
  3. Bibliotecas os e io
  4. A biblioteca debug
← Voltar para Lua Academy