取得目錄所有檔名清單 (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