Перейти к основному содержимому

Получение списка имён файлов каталога (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.