Lua 中文件遍历操作的代码示例

2024-12-28 23:14:54   小编

Lua 中文件遍历操作的代码示例

在 Lua 编程中,文件遍历是一项常见且重要的任务。通过遍历文件,我们可以处理大量的数据、进行文件的筛选、复制或修改等操作。下面将为您展示一个简单而实用的 Lua 中文件遍历的代码示例。

local function traverse_files(dir_path)
    local files = {}
    local function traverse(current_path)
        local dir = io.popen("ls ".. current_path)
        for file in dir:lines() do
            local full_path = current_path.. "/".. file
            local attr = io.open(full_path, 'r')
            if attr then
                local file_info = {
                    name = file,
                    path = full_path
                }
                if file_info.name:sub(1, 1) ~= '.' then
                    table.insert(files, file_info)
                end
                attr:close()
                local stat = io.open(full_path, 'r'):stat()
                if stat and stat.mode == "directory" then
                    traverse(full_path)
                end
            end
        end
        dir:close()
    end
    traverse(dir_path)
    return files
end

local dir_path = "/your/directory/path"  -- 替换为您要遍历的目录路径
local all_files = traverse_files(dir_path)

for _, file_info in ipairs(all_files) do
    print("文件名: ".. file_info.name.. ",路径: ".. file_info.path)
end

在上述代码中,我们定义了一个名为 traverse_files 的函数来实现文件遍历的功能。

我们创建一个空的表 files 用于存储遍历到的文件信息。

然后,在内部的 traverse 函数中,通过 io.popen 执行系统命令 ls 来获取指定路径下的文件和子目录列表。

对于每个文件,我们尝试打开并获取其属性。如果文件不是以 . 开头(通常用于隐藏文件),则将其信息添加到 files 表中。

接着,通过检查文件的状态,如果是一个目录,则递归调用 traverse 函数来遍历该子目录。

最后,我们指定一个目录路径,并调用 traverse_files 函数获取所有文件信息,并通过循环打印出文件名和路径。

通过这个示例,您可以了解到如何在 Lua 中实现基本的文件遍历操作。您可以根据实际需求对获取到的文件信息进行进一步的处理,以满足您的具体业务逻辑。

TAGS: Lua 编程 Lua 文件操作 文件遍历技巧 代码示例分享

欢迎使用万千站长工具!

Welcome to www.zzTool.com