Получение списка имён файлов каталога (file.list)
Объявление
список_файлов, сообщение_об_ошибке = file.list(путь_к_каталогу [, полный_рекурсивный_обход])
Параметры
- путь_к_каталогу
Строка, абсолютный путь к каталогу - полный_рекурсивный_обход (поддерживается с версии 20250313)
Логическое значение, необязательный параметр: рекурсивно обходить подкаталоги и возвращать полный список путей; по умолчаниюfalse
Возвращаемое значение
- список_файлов
Последовательная таблица илиnil; при отсутствии каталога или если путь указывает на файл возвращаетсяnil, иначе — список файлов каталога - сообщение_об_ошибке
Строка, сообщение об ошибке при неудаче
Описание
Возвращает список всех имён файлов каталога
Пример
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
Примечание: приведённый выше код использует функцию не из этой главы — sys.alert.
Пример полного глубокого обхода
-- полный список путей файлов = file.list(путь к файлу, полный глубокий обход)
-- Получение списка имён файлов каталога; второй параметр управляет рекурсивным получением полных путей файлов подкаталогов, по умолчанию false
list = file.list("/var/mobile/Media/1ferver", true)
nLog(list)
--[[
Возможный вывод
{ -- 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",
...
}
--]]
Примечание: приведённый выше код использует функцию не из этой главы — nLog.