首页 > 代码库 > 【Lua】关于遍历制定路径下所有目录及文件
【Lua】关于遍历制定路径下所有目录及文件
关于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 end12 end13 end14 end15 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 else12 print(f .. " --> " .. attr.mode)13 end14 end15 end16 end17 18 attrdir(".")
输出:
【Lua】关于遍历制定路径下所有目录及文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。