lua遍历文件

看了不少人的,主要还是错误处理有点问题,不多说了

贴代码:

require "lfs"

function getpathes(rootpath, pathes)
    pathes = pathes or {}

    ret, files, iter = pcall(lfs.dir, rootpath)
    if ret == false then
        return pathes
    end
    for entry in files, iter do
        local next = false
        if entry ~= ‘.‘ and entry ~= ‘..‘ then
            local path = rootpath .. ‘/‘ .. entry
            local attr = lfs.attributes(path)
            if attr == nil then
                next = true
            end

            if next == false then
                if attr.mode == ‘directory‘ then
                    getpathes(path, pathes)
                else
                    table.insert(pathes, path)
                end
            end
        end
        next = false
    end
    return pathes
end

pathes = {}

getpathes("/", pathes)

for key, path in pairs(pathes) do
    print(key .. " " .. path)
end

lua遍历文件,布布扣,bubuko.com

时间: 2024-10-18 09:13:43

lua遍历文件的相关文章

lua遍历文件夹

require"lfs" function findindir (path, wefind, r_table, intofolder) for file in lfs.dir(path) do if file ~= "." and file ~= ".." then local f = path..'\\'..file --print ("/t "..f) if string.find(f, wefind) ~= nil th

Lua 遍历Linux目录下的文件夹

代码如下,里面有注释,应该能看懂. function getFile(file_name) local f = assert(io.open(file_name, 'r')) local string = f:read("*all") f:close() return string end function writeFile(file_name,string) local f = assert(io.open(file_name, 'w')) f:write(string) f:cl

lua遍历文件目录

用lua遍历文件目录,收集特定类型的文件: 1 local LINUX = "linux" 2 local WIN = "win" 3 local platform = WIN 4 5 local need_the_filetype = function(tfiletype, filename) 6 for k, v in pairs(tfiletype) do 7 if (v == ".") or (v == ".*") t

OpenCV实现遍历文件夹下所有文件

OpenCV中有实现遍历文件夹下所有文件的类Directory,它里面包括3个成员函数:(1).GetListFiles:遍历指定文件夹下的所有文件,不包括指定文件夹内的文件夹:(2).GetListFolders:遍历指定文件夹下的所有文件夹,不包括指定文件夹下的文件:(3).GetListFilesR:遍历指定文件夹下的所有文件,包括指定文件夹内的文件夹. 若要使用Directory类,则需包含contrib.hpp头文件,此类的实现在contrib模块. 下面为测试代码: cv::Dire

递归的一些应用(一)遍历文件夹

函数的递归调用 递归的含义 递归其实也只是一种算法上的描述,不是一种新的语法! 有时候,我们解决问题的时候,会遇到这种情况,当我们把一个大的问题按照某种解决方案分成若干个小的问题的时候,发现这些小问题的解决方案其实和刚才大问题的解决方案又是一样的! 典型的,比如:求阶乘! 10! = 10 * 9! 9! =  9 * 8! 8! = 8 * 7! …… 语法上,函数的递归调用,就是函数在执行的过程中自己又调用自己! 递归的两个要点: 1,  递归的出口:就是指什么时候停止递归调用 2,  递归

Android开发手记(21) 遍历文件夹

我们在遍历文件夹的时候由于涉及到SD卡相关操作,所以我们需要添加如下权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 首先,需要检查SD卡挂载状态: boolean sdCard

Java遍历文件夹下所有文件并替换指定字符串

应用场景:比如有一个深层次的文件目录结构,如:javaAPI 每个文件里面都有相同的内容,而我们要统一修改为其他内容.上千个文件如果一个个修改显得太不明智. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** *

Linux下的C程序,遍历文件夹并统计其中各个类型文件所占百分比

递归遍历一个目录下的所有文件和文件夹,统计各个类型文件所占的百分比 程序代码a.cpp(编译命令:g++ a.cpp -o a) #include <stdio.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <dirent.h> #include <string.h> stru

php高效遍历文件夹、高效读取文件

/** * PHP高效遍历文件夹 * @param string $path 目录路径 * @param integer $level 目录深度 */ function fn_scandir($path = './', $level = 0) { $file = new FilesystemIterator($path); $filename = ''; $prefix = ''; $url = ''; foreach ($file as $fileinfo) { $filename = $fi