• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【Lua】关于遍历指定路径下所有目录及文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  关于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(".")

  输出:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua学习:lua中“类”的实现发布时间:2022-07-22
下一篇:
Lua 基础之Weak Table(5)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap