Obter a lista de nomes de todos os arquivos de um diretório (file.list)
Declaração
lista_de_arquivos, mensagem_de_erro = file.list(caminho_do_diretório [, percorrer_subdiretórios_completamente])
Parâmetros
- caminho do diretório
Texto; caminho absoluto do diretório. - percorrer subdiretórios completamente (compatível a partir da versão 20250313)
Booleano opcional; define se os subdiretórios serão percorridos recursivamente e uma lista de caminhos completos será retornada. O padrão é false.
Valores retornados
- lista de arquivos
Array sequencial ou nil; retorna nil se o diretório não existir ou se o caminho for um arquivo, caso contrário retorna a lista de arquivos do diretório. - mensagem de erro
Texto; mensagem de erro em caso de falha.
Observações
Obtém a lista de nomes de todos os arquivos de um diretório.
Exemplo
local list, err = file.list("/var/mobile/")
if list then
print("目录 `/var/mobile/` 中有"..#list.."个文件或目录")
for _, name in ipairs(list) do
print(name)
end
sys.alert(print.out())
else
sys.alert("`/var/mobile/` 不是目录:"..err)
end
Observação: o código acima usa a função sys.alert, que não pertence a este capítulo.
Exemplo de percurso completo em profundidade
-- lista de caminhos completos = file.list(caminho_do_diretório, percorrer_subdiretórios_completamente)
-- obtém a lista de nomes de um diretório; o segundo parâmetro controla se os caminhos completos dos arquivos dos subdiretórios serão obtidos recursivamente. O padrão é false
list = file.list("/var/mobile/Media/1ferver", true)
nLog(list)
--[[
possível saída
{ -- table: 0xc4cc58a30
[1] = "/var/mobile/Media/1ferver/snippets/syntax - do __ end.snippet",
[2] = "/var/mobile/Media/1ferver/snippets/app - app.uninstall(bid).snippet",
[3] = "/var/mobile/Media/1ferver/snippets/test - snippet.snippet",
...
}
--]]
Observação: o código acima usa a função nLog, que não pertence a este capítulo.