获取目录所有文件名列表 (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