在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库。 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lfs") 随后创建一个函数,用来遍历指定路径下的所有文件,这里我们需要用到lfs库中的lfs.dir()方法和lfs.attributes(f)方法。 lfs.dir(path) 可以返回一个包含path内所有文件的字符串,如果该路径不是一个目录,则返回一个错误。可以用 for file in lfs.dir(path) do print(file) end 来取得路径内的各文件名 lfs.attributes(filepath) 返回filepath的各种属性,包括文件类型、大小、权限等等信息 1 require("lfs") 2 3 function attrdir(path) 4 for file in lfs.dir(path) do 5 if file ~= "." and file ~= ".." then 6 local f = path .. "/" .. file 7 local attr = lfs.attributes(f) 8 print (f) 9 for name, value in pairs(attr) do 10 print (name, value) 11 end 12 end 13 end 14 end 15 16 attrdir("/var/www/tmp/css")
有了这两个方法,就可以来遍历指定路径下的所有文件了: 1 require"lfs" 2 3 function attrdir(path) 4 for file in lfs.dir(path) do 5 if file ~= "." and file ~= ".." then //过滤linux目录下的"."和".."目录 6 local f = path.. '/' ..file 7 local attr = lfs.attributes (f) 8 if attr.mode == "directory" then 9 print(f .. " --> " .. attr.mode) 10 attrdir(f) //如果是目录,则进行递归调用 11 else 12 print(f .. " --> " .. attr.mode) 13 end 14 end 15 end 16 end 17 18 attrdir(".") 输出: |
请发表评论